Control system for a rehabilitation and exercise electromechanical device

ABSTRACT

An electromechanical device for rehabilitation includes pedals coupled to radially-adjustable couplings, an electric motor coupled to the pedals via the radially-adjustable couplings, and a control system including a processing device operatively coupled to the electric motor. The processing device configured to, responsive to a first trigger condition occurring, control the electric motor to operate in a passive mode by independently driving the radially-adjustable couplings rotationally coupled to the pedals. The processing device also configured to, responsive to a second trigger condition occurring, control the electric motor to operate in an active-assisted mode by measuring revolutions per minute of the radially-adjustable couplings, and cause the electric motor to drive the radially-adjustable couplings when the measured revolutions per minute satisfy a threshold condition, and responsive to a third trigger condition occurring, control the electric motor to operate in a resistive mode by providing resistance to rotation of the radially-adjustable couplings.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application patent Ser. No.16/813,303, filed Mar. 9, 2020, which claims priority to and the benefitof U.S. Provisional Application Patent Ser. No. 62/816,503, filed Mar.11, 2019, the entire disclosures of which are hereby incorporated byreference in their entirety for all purposes.

TECHNICAL FIELD

This disclosure relates generally to electromechanical devices. Morespecifically, this disclosure relates to a control system for arehabilitation and exercise electromechanical device.

BACKGROUND

Various devices may be used by people for exercising and/orrehabilitating parts of their bodies. For example, to maintain a desiredlevel of fitness, users may operate devices for a period of time ordistance as part of a workout regime. In another example, a person mayundergo knee surgery and a physician may provide a treatment plan forrehabilitation that includes operating a rehabilitation device for aperiod of time and/or distance periodically to strengthen and/or improveflexibility of the knee. The exercise and/or rehabilitation devices mayinclude pedals on opposite sides. The devices may be operated by a userengaging the pedals with their feet or their hands and rotating thepedals.

SUMMARY

In general, the present disclosure provides a control system for anadjustable rehabilitation and exercise device and associated components.

In one aspect, an electromechanical device for rehabilitation includesone or more pedals coupled to one or more radially-adjustable couplings,an electric motor coupled to the one or more pedals via the one or moreradially-adjustable couplings, and a control system including one ormore processing devices operatively coupled to the electric motor. Theone or more processing devices may be configured to, responsive to afirst trigger condition occurring, control the electric motor to operatein a passive mode by independently driving the one or moreradially-adjustable couplings rotationally coupled to the one or morepedals. The one or more processing devices may also be configured to,responsive to a second trigger condition occurring, control the electricmotor to operate in an active-assisted mode by (1) measuring revolutionsper minute of the one or more radially-adjustable couplings, and (2)causing the electric motor to drive the one or more radially-adjustablecouplings rotationally coupled to the one or more pedals when themeasured revolutions per minute satisfy a threshold condition. The oneor more processing devices may also be configured to, responsive to athird trigger condition occurring, control the electric motor to operatein a resistive mode by providing resistance to rotation of the one ormore radially-adjustable couplings coupled to the one or more pedals.

In another aspect, a method for controlling, via a processing device, anelectromechanical device may include receiving configuration informationfor a pedaling session, setting a resistance parameter and a maximumpedal force parameter based on the configuration information for thepedaling session, and measuring force applied to pedals of theelectromechanical device as a user pedals the electromechanical device.An electric motor of the electromechanical device may provide resistanceduring the pedaling session based on the resistance parameter. Themethod may also include determining whether the measured force exceedsthe maximum pedal force parameter, and responsive to determining thatthe measured force exceeds the maximum pedal force parameter, reducingthe resistance parameter so the electric motor applies less resistanceduring the pedaling session to maintain a revolutions per minutethreshold.

In yet another aspect, an electronic device, may include one or morememory devices storing instructions, one or more network interfacecards, one or more goniometers, and one or more processing devicesoperatively coupled to the one or more memory devices, the one or morenetwork interface cards, and the one or more goniometers. The one ormore processing devices execute the instructions to receive a set ofangles from the one or more goniometers. The set of angles may includeat least one of angles of extension of a lower leg of a user extendedaway from an upper leg at a knee or angles of bend of the lower legretracting closer toward the upper leg. The one or more processingdevices may transmit, via the one or more network interface cards, theset of angles to a computing device controlling an electromechanicaldevice.

Other technical features may be readily apparent to one skilled in theart from the following figures, descriptions, and claims.

Before undertaking the DETAILED DESCRIPTION below, it may beadvantageous to set forth definitions of certain words and phrases usedthroughout this patent document. The term “couple” and its derivativesrefer to any direct or indirect communication between two or moreelements, whether or not those elements are in physical contact with oneanother. The terms “transmit,” “receive,” and “communicate,” as well asderivatives thereof, encompass both direct and indirect communication.The terms “include” and “comprise,” as well as derivatives thereof, meaninclusion without limitation. The term “or” is inclusive, meaningand/or. The phrase “associated with,” as well as derivatives thereof,means to include, be included within, interconnect with, contain, becontained within, connect to or with, couple to or with, be communicablewith, cooperate with, interleave, juxtapose, be proximate to, be boundto or with, have, have a property of, have a relationship to or with, orthe like. The term “controller” means any device, system or part thereofthat controls at least one operation. Such a controller may beimplemented in hardware or a combination of hardware and software and/orfirmware. The functionality associated with any particular controllermay be centralized or distributed, whether locally or remotely. Thephrase “at least one of,” when used with a list of items, means thatdifferent combinations of one or more of the listed items may be used,and only one item in the list may be needed. For example, “at least oneof: A, B, and C” includes any of the following combinations: A, B, C, Aand B, A and C, B and C, and A and B and C.

Moreover, various functions described below can be implemented orsupported by one or more computer programs, each of which is formed fromcomputer readable program code and embodied in a computer readablemedium. The terms “application” and “program” refer to one or morecomputer programs, software components, sets of instructions,procedures, functions, objects, classes, instances, related data, or aportion thereof adapted for implementation in a suitable computerreadable program code. The phrase “computer readable program code”includes any type of computer code, including source code, object code,and executable code. The phrase “computer readable medium” includes anytype of medium capable of being accessed by a computer, such as readonly memory (ROM), random access memory (RAM), a hard disk drive, acompact disc (CD), a digital video disc (DVD), solid state drive (SSD),or any other type of memory. A “non-transitory” computer readable mediumexcludes wired, wireless, optical, or other communication links thattransport transitory electrical or other signals. A non-transitorycomputer readable medium includes media where data can be permanentlystored and media where data can be stored and later overwritten, such asa rewritable optical disc or an erasable memory device.

Definitions for other certain words and phrases are provided throughoutthis patent document. Those of ordinary skill in the art shouldunderstand that in many if not most instances, such definitions apply toprior as well as future uses of such defined words and phrases.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of this disclosure and its advantages,reference is now made to the following description, taken in conjunctionwith the accompanying drawings, in which:

FIG. 1 illustrates a high-level component diagram of an illustrativerehabilitation system architecture according to certain embodiments ofthis disclosure;

FIG. 2 illustrates a perspective view of an example of an exercise andrehabilitation device according to certain embodiments of thisdisclosure;

FIG. 3 illustrates example operations of a method for controlling anelectromechanical device for rehabilitation in various modes accordingto certain embodiments of this disclosure;

FIG. 4 illustrates example operations of a method for controlling anamount of resistance provided by an electromechanical device accordingto certain embodiments of this disclosure;

FIG. 5 illustrates example operations of a method for measuring anglesof bend and/or extension of a lower leg relative to an upper leg using agoniometer according to certain embodiments of this disclosure;

FIG. 6 illustrates an exploded view of components of the exercise andrehabilitation device according to certain embodiments of thisdisclosure;

FIG. 7 illustrates an exploded view of a right pedal assembly accordingto certain embodiments of this disclosure;

FIG. 8 illustrates an exploded view of a motor drive assembly accordingto certain embodiments of this disclosure;

FIG. 9 illustrates an exploded view of a portion of a goniometeraccording to certain embodiments of this disclosure;

FIG. 10 illustrates a top view of a wristband according to certainembodiments of this disclosure;

FIG. 11 illustrates an exploded view of a pedal according to certainembodiments of this disclosure;

FIG. 12 illustrates additional views of the pedal according to certainembodiments of this disclosure;

FIG. 13 illustrates an example user interface of the user portal, theuser interface presenting a treatment plan for a user according tocertain embodiments of this disclosure;

FIG. 14 illustrates an example user interface of the user portal, theuser interface presenting pedal settings for a user according to certainembodiments of this disclosure;

FIG. 15 illustrates an example user interface of the user portal, theuser interface presenting a scale for measuring pain of the user at abeginning of a pedaling session according to certain embodiments of thisdisclosure;

FIG. 16 illustrates an example user interface of the user portal, theuser interface presenting that the electromechanical device is operatingin a passive mode according to certain embodiments of this disclosure;

FIGS. 17A-D illustrates an example user interface of the user portal,the user interface presenting that the electromechanical device isoperating in active-assisted mode and the user is applying variousamounts of force to the pedals according to certain embodiments of thisdisclosure;

FIG. 18 illustrates an example user interface of the user portal, theuser interface presenting a request to modify pedal position while theelectromechanical device is operating in active-assisted mode accordingto certain embodiments of this disclosure;

FIG. 19 illustrates an example user interface of the user portal, theuser interface presenting a scale for measuring pain of the user at anend of a pedaling session according to certain embodiments of thisdisclosure;

FIG. 20 illustrates an example user interface of the user portal, theuser interface enabling the user to capture an image of the body partunder rehabilitation according to certain embodiments of thisdisclosure;

FIGS. 21A-D illustrate an example user interface of the user portal, theuser interface presenting angles of extension and bend of a lower legrelative to an upper leg according to certain embodiments of thisdisclosure;

FIG. 22 illustrates an example user interface of the user portal, theuser interface presenting a progress screen for a user extending thelower leg away from the upper leg according to certain embodiments ofthis disclosure;

FIG. 23 illustrates an example user interface of the user portal, theuser interface presenting a progress screen for a user bending the lowerleg toward the upper leg according to certain embodiments of thisdisclosure;

FIG. 24 illustrates an example user interface of the user portal, theuser interface presenting a progress screen for a pain level of the useraccording to certain embodiments of this disclosure;

FIG. 25 illustrates an example user interface of the user portal, theuser interface presenting a progress screen for a strength of a bodypart according to certain embodiments of this disclosure;

FIG. 26 illustrates an example user interface of the user portal, theuser interface presenting a progress screen for an amount of steps ofthe user according to certain embodiments of this disclosure;

FIG. 27 illustrates an example user interface of the user portal, theuser interface presenting that the electromechanical device is operatingin a manual mode according to certain embodiments of this disclosure;

FIG. 28 illustrates an example user interface of the user portal, theuser interface presenting an option to modify a speed of theelectromechanical device operating in the passive mode according tocertain embodiments of this disclosure;

FIG. 29 illustrates an example user interface of the user portal, theuser interface presenting an option to modify a minimum speed of theelectromechanical device operating in the active-assisted mode accordingto certain embodiments of this disclosure;

FIG. 30 illustrates an example user interface of the clinical portal,the user interface presenting various options available to the clinicianaccording to certain embodiments of this disclosure;

FIG. 31 illustrates an example computer system according to certainembodiments of this disclosure.

DETAILED DESCRIPTION

Improvement is desired in the field of devices used for rehabilitationand exercise. People may injure, sprain, or tear a body part and consulta physician to diagnose the injury. In some instances, the physician mayprescribe a treatment plan that includes operating one or moreelectromechanical devices (e.g., pedaling devices for arms or legs) fora period of time to exercise the affected area in an attempt torehabilitate the affected body part and regain normal movability. Inother instances, the person with the affected body part may determine tooperate a device without consulting a physician. In either scenario, thedevices that are operated lack effective monitoring of progress ofrehabilitation of the affected area and control over theelectromechanical device during operation by the user. Conventionaldevices lack components that enable operating the electromechanicaldevice in various modes that are designed to enhance the rate andeffectiveness of rehabilitation. Further, conventional rehabilitationsystems lack monitoring devices that aid in determining one or moreproperties of the user (e.g., range of motion of the affected area,heartrate of the user, etc.) and enable adjusting components based onthe determined properties. When the user is supposed to be adhering to atreatment plan, conventional rehabilitation systems may not providereal-time results of sessions to the physicians. That is, typically thephysicians have to rely on the patient's word as to whether they areadhering to the treatment plan. As a result of the abovementionedissues, conventional rehabilitation systems that use electromechanicaldevices may not provide effective and/or efficient rehabilitation of theaffected body part.

Accordingly, aspects of the present disclosure generally relate to acontrol system for a rehabilitation and exercise electromechanicaldevice (referred to herein as “electromechanical device”). Theelectromechanical device may include an electric motor configured todrive one or more radially-adjustable couplings to rotationally movepedals coupled to the radially-adjustable couplings. Theelectromechanical device may be operated by a user engaging the pedalswith their hands or their feet and rotating the pedals to exerciseand/or rehabilitate a desired body part. The electromechanical deviceand the control system may be included as part of a largerrehabilitation system. The rehabilitation system may also includemonitoring devices (e.g., goniometer, wristband, force sensors in thepedals, etc.) that provide valuable information about the user to thecontrol system. As such, the monitoring devices may be in direct orindirect communication with the control system.

The monitoring devices may include a goniometer that is configured tomeasure range of motion (e.g., angles of extension and/or bend) of abody part to which the goniometer is attached. The measured range ofmotion may be presented to the user and/or a physician via a user portaland/or a clinical portal. Also the control system may use the measuredrange of motion to determine whether to adjust positions of the pedalson the radially-adjustable couplings and/or to adjust the mode types(e.g., passive, active-assisted, resistive, active) and/or durations tooperate the electromechanical device during a treatment plan. Themonitoring devices may also include a wristband configured to track thesteps of the user over a time period (e.g., day, week, etc.) and/ormeasure vital signs of the user (e.g., heartrate, blood pressure, oxygenlevel). The monitoring devices may also include force sensors disposedin the pedals that are configured to measure the force exerted by theuser on the pedals.

The control system may enable operating the electromechanical device ina variety of modes, such as a passive mode, an active-assisted mode, aresistive mode, and/or an active mode. The control system may use theinformation received from the measuring devices to adjust parameters(e.g., reduce resistance provided by electric motor, increase resistanceprovided by the electric motor, increase/decrease speed of the electricmotor, adjust position of pedals on radially-adjustable couplings, etc.)while operating the electromechanical device in the various modes. Thecontrol system may receive the information from the monitoring devices,aggregate the information, make determinations using the information,and/or transmit the information to a cloud-based computing system forstorage. The cloud-based computing system may maintain the informationthat is related to each user.

A clinician and/or a machine learning model may generate a treatmentplan for a user to rehabilitate a part of their body using at least theelectromechanical device. A treatment plan may include a set of pedalingsessions using the electromechanical device, a set of joint extensionsessions, a set of flex sessions, a set of walking sessions, a set ofheartrates per pedaling session and/or walking session, and the like.

Each pedaling session may specify that a user is to operate theelectromechanical device in a combination of one or more modes,including: passive, active-passive, active, and resistive. The pedalingsession may specify that the user is to wear the wristband and thegoniometer during the pedaling session. Further, each pedaling sessionmay include a set amount of time that the electromechanical device is tooperate in each mode, a target heartrate for the user during each modein the pedaling session, target forces that the user is to exert on thepedals during each mode in the pedaling session, target ranges of motionthe body parts are to attain during the pedaling session, positions ofthe pedals on the radially-adjustable couplings, and the like.

Each joint extension session may specify a target angle of extension atthe joint, and each set of joint flex sessions may specify a targetangle of flex at the joint. Each walking session may specify a targetnumber of steps the user should take over a set period of time (e.g.,day, week etc.) and/or a target heartrate to achieve and/or maintainduring the walking session.

The treatment plans may be stored in the cloud-based computing systemand downloaded to the computing device of the user when the user isready to begin the treatment plan. In some embodiments, the computingdevice that executes a clinical portal may transmit the treatment planto the computing device that executes a user portal and the user mayinitiate the treatment plan when ready.

In addition, the disclosed rehabilitation system may enable a physicianto monitor the progress of the user in real-time using the clinicalportal. The clinical portal may present information pertaining to whenthe user is engaged in one or more sessions, statistics (e.g., speed,revolutions per minute, position of pedals, force on the pedals, vitalsigns, number of steps taken by user, range of motion, etc.) of thesessions, and the like. The clinical portal may also enable thephysician to view before and after session images of the affected bodypart of the user to enable the physician to judge how well the treatmentplan is working and/or to make adjustments to the treatment plan. Theclinical portal may enable the physician to dynamically change aparameter (e.g., position of pedals, amount of resistance provided byelectric motor, speed of the electric motor, duration of one of themodes, etc.) of the treatment plan in real-time based on informationreceived from the control system.

The disclosed techniques provide numerous benefits over conventionalsystems. For example, the rehabilitation system provides granularcontrol over the components of the electromechanical device to enhancethe efficiency and effectiveness of rehabilitation of the user. Thecontrol system enables operating the electromechanical device in anysuitable combination of the modes described herein by controlling theelectric motor. Further, the control system may use information receivedfrom the monitoring devices to adjust parameters of components of theelectromechanical device in real-time during a pedaling session, forexample. Additional benefits of this disclosure may include enabling acomputing device operated by a physician to monitor the progress of auser participating in a treatment plan in real-time and/or to controloperation of the electromechanical device during a pedaling session.

FIGS. 1 through 31 , discussed below, and the various embodiments usedto describe the principles of this disclosure are by way of illustrationonly and should not be construed in any way to limit the scope of thedisclosure.

FIG. 1 illustrates a high-level component diagram of an illustrativerehabilitation system architecture 100 according to certain embodimentsof this disclosure. In some embodiments, the system architecture 100 mayinclude a computing device 102 communicatively coupled to anelectromechanical device 104, a goniometer 106, a wristband 108, and/orpedals 110 of the electromechanical device 104. Each of the computingdevice 102, the electromechanical device 104, the goniometer 106, thewristband 108, and the pedals 110 may include one or more processingdevices, memory devices, and network interface cards. The networkinterface cards may enable communication via a wireless protocol fortransmitting data over short distances, such as Bluetooth, ZigBee, etc.In some embodiments, the computing device 102 is communicatively coupledto the electromechanical device 104, goniometer 106, the wristband 108,and/or the pedals 110 via Bluetooth.

Additionally, the network interface cards may enable communicating dataover long distances, and in one example, the computing device 102 maycommunicate with a network 112. Network 112 may be a public network(e.g., connected to the Internet via wired (Ethernet) or wireless(WiFi)), a private network (e.g., a local area network (LAN) or widearea network (WAN)), or a combination thereof. The computing device 102may be communicatively coupled with a computing device 114 and acloud-based computing system 116.

The computing device 102 may be any suitable computing device, such as alaptop, tablet, smartphone, or computer. The computing device 102 mayinclude a display that is capable of presenting a user interface, suchas a user portal 118. The user portal 118 may be implemented in computerinstructions stored on the one or more memory devices of the computingdevice 102 and executable by the one or more processing devices of thecomputing device 102. The user portal 118 may present various screens toa user that enable the user to view a treatment plan, initiate apedaling session of the treatment plan, control parameters of theelectromechanical device 104, view progress of rehabilitation during thepedaling session, and so forth as described in more detail below. Thecomputing device 102 may also include instructions stored on the one ormore memory devices that, when executed by the one or more processingdevices of the computing device 102, perform operations to control theelectromechanical device 104.

The computing device 114 may execute a clinical portal 126. The clinicalportal 126 may be implemented in computer instructions stored on the oneor more memory devices of the computing device 114 and executable by theone or more processing devices of the computing device 114. The clinicalportal 114 may present various screens to a physician that enable thephysician to create a treatment plan for a patient, view progress of theuser throughout the treatment plan, view measured properties (e.g.,angles of bend/extension, force exerted on pedals 110, heartrate, stepstaken, images of the affected body part) of the user during sessions ofthe treatment plan, view properties (e.g., modes completed, revolutionsper minute, etc.) of the electromechanical device 104 during sessions ofthe treatment plan. The treatment plan specific to a patient may betransmitted via the network 112 to the cloud-based computing system 116for storage and/or to the computing device 102 so the patient may beginthe treatment plan.

The electromechanical device 104 may be an adjustable pedaling devicefor exercising and rehabilitating arms and/or legs of a user. Theelectromechanical device 104 may include at least one or more motorcontrollers 120, one or more electric motors 122, and one or moreradially-adjustable couplings 124. Two pedals 110 may be coupled to tworadially-adjustable couplings 124 via a left and right pedal assembliesthat each include a respective stepper motor. The motor controller 120may be operatively coupled to the electric motor 122 and configured toprovide commands to the electric motor 122 to control operation of theelectric motor 122. The motor controller 120 may include any suitablemicrocontroller including a circuit board having one or more processingdevices, one or more memory devices (e.g., read-only memory (ROM) and/orrandom access memory (RAM)), one or more network interface cards, and/orprogrammable input/output peripherals. The motor controller 120 mayprovide control signals or commands to drive the electric motor 122. Theelectric motor 122 may be powered to drive one or moreradially-adjustable couplings 124 of the electromechanical device 104 ina rotational manner. The electric motor 122 may provide the drivingforce to rotate the radially-adjustable couplings 124 at configurablespeeds. The couplings 124 are radially-adjustable in that a pedal 110attached to the coupling 124 may be adjusted to a number of positions onthe coupling 125 in a radial fashion. Further, the electromechanicaldevice 104 may include current shunt to provide resistance to dissipateenergy from the electric motor 122. As such, the electric motor 122 maybe configured to provide resistance to rotation of theradially-adjustable couplings 124.

The computing device 102 may be communicatively connected to theelectromechanical device 104 via the network interface card on the motorcontroller 120. The computing device 102 may transmit commands to themotor controller 120 to control the electric motor 122. The networkinterface card of the motor controller 120 may receive the commands andtransmit the commands to the electric motor 122 to drive the electricmotor 122. In this way, the computing device 102 is operatively coupledto the electric motor 122.

The computing device 102 and/or the motor controller 120 may be referredto as a control system herein. The user portal 118 may be referred to asa user interface of the control system herein. The control system maycontrol the electric motor 122 to operate in a number of modes: passive,active-assisted, resistive, and active. The passive mode may refer tothe electric motor 122 independently driving the one or moreradially-adjustable couplings 124 rotationally coupled to the one ormore pedals 110. In the passive mode, the electric motor 122 may be theonly source of driving force on the radially-adjustable couplings. Thatis, the user may engage the pedals 110 with their hands or their feetand the electric motor 122 may rotate the radially-adjustable couplings124 for the user. This may enable moving the affected body part andstretching the affected body part without the user exerting excessiveforce.

The active-assisted mode may refer to the electric motor 122 receivingmeasurements of revolutions per minute of the one or moreradially-adjustable couplings 124, and causing the electric motor 122 todrive the one or more radially-adjustable couplings 124 rotationallycoupled to the one or more pedals 110 when the measured revolutions perminute satisfy a threshold condition. The threshold condition may beconfigurable by the user and/or the physician. The electric motor 122may be powered off while the user provides the driving force to theradially-adjustable couplings 124 as long as the revolutions per minuteare above a revolutions per minute threshold and the threshold conditionis not satisfied. When the revolutions per minute are less than therevolutions per minute threshold then the threshold condition issatisfied and the electric motor 122 may be controlled to drive theradially-adjustable couplings 124 to maintain the revolutions per minutethreshold.

The resistive mode may refer to the electric motor 122 providingresistance to rotation of the one or more radially-adjustable couplings124 coupled to the one or more pedals 110. The resistive mode mayincrease the strength of the body part being rehabilitated by causingthe muscle to exert force to move the pedals against the resistanceprovided by the electric motor 122.

The active mode may refer to the electric motor 122 powering off toprovide no driving force assistance to the radially-adjustable couplings124. Instead, in this mode, the user provides the sole driving force ofthe radially-adjustable couplings using their hands or feet, forexample.

During one or more of the modes, each of the pedals 110 may measureforce exerted by a part of the body of the user on the pedal 110. Forexample, the pedals 110 may each contain any suitable sensor (e.g.,strain gauge load cell, piezoelectric crystal, hydraulic load cell,etc.) for measuring force exerted on the pedal 110. Further, the pedals110 may each contain any suitable sensor for detecting whether the bodypart of the user separates from contact with the pedals 110. In someembodiments, the measured force may be used to detect whether the bodypart has separated from the pedals 11. The force detected may betransmitted via the network interface card of the pedal 110 to thecontrol system (e.g., computing device 102 and/or motor controller 120).As described further below, the control system may modify a parameter ofoperating the electric motor 122 based on the measured force. Further,the control system may perform one or more preventative action (e.g.,locking the electric motor 120 to stop the radially-adjustable couplings124 from moving, slowing down the electric motor 122, presenting anotification to the user, etc.) when the body part is detected asseparated from the pedals 110, among other things.

The goniometer 106 may be configured to measure angles of extensionand/or bend of body parts and transmit the measured angles to thecomputing device 102 and/or the computing device 114. The goniometer 106may be included in an electronic device that includes the one or moreprocessing devices, memory devices, and/or network interface cards. Thegoniometer 106 may be disposed in a cavity of a mechanical brace. Thecavity of the mechanical brace may be located near a center of themechanical brace where the mechanical brace affords to bend and extend.The mechanical brace may be configured to secure to an upper body part(e.g., leg, arm, etc.) and a lower body part (e.g., leg, arm, etc.) tomeasure the angles of bend as the body parts are extended away from oneanother or retracted closer to one another.

The wristband 108 may include a 3-axis accelerometer to track motion inthe X, Y, and Z directions, an altimeter for measuring altitude, and/ora gyroscope to measure orientation and rotation. The accelerometer,altimeter, and/or gyroscope may be operatively coupled to a processingdevice in the wristband 108 and may transmit data to the processingdevice. The processing device may cause a network interface card totransmit the data to the computing device 102 and the computing device102 may use the data representing acceleration, frequency, duration,intensity, and patterns of movement to track steps taken by the userover certain time periods (e.g., days, weeks, etc.). The computingdevice 102 may transmit the steps to the computing device 114 executinga clinical portal 126. Additionally, in some embodiments, the processingdevice of the wristband 108 may determine the steps taken and transmitthe steps to the computing device 102. In some embodiments, thewristband 108 may use photoplethysmography (PPG) to measure heartratethat detects an amount of red light or green light on the skin of thewrist. For example, blood may absorb green light so when the heartbeats, the blood flow may absorb more green light, thereby enablingdetecting heartrate. The heartrate may be sent to the computing device102 and/or the computing device 114.

The computing device 102 may present the steps taken by the user and/orthe heartrate via respective graphical element on the user portal 118,as discussed further below. The computing device may also use the stepstaken and/or the heart rate to control a parameter of operating theelectromechanical device 104. For example, if the heartrate exceeds atarget heartrate for a pedaling session, the computing device 102 maycontrol the electric motor 122 to reduce resistance being applied torotation of the radially-adjustable couplings 124. In another example,if the steps taken are below a step threshold for a day, the treatmentplan may increase the amount of time for one or more modes that the userin which the user is to operate the electromechanical device 104 toensure the affected body part is getting sufficient movement.

In some embodiments, the cloud-based computing system 116 may includeone or more servers 128 that form a distributed computing architecture.Each of the servers 128 may include one or more processing devices,memory devices, data storage, and/or network interface cards. Theservers 128 may be in communication with one another via any suitablecommunication protocol. The servers 128 may store profiles for each ofthe users that use the electromechanical device 104. The profiles mayinclude information about the users such as a treatment plan, theaffected body part, any procedure the user had performed on the affectedbody part, health, age, race, measured data from the goniometer 106,measured data from the wristband 108, measured data from the pedals 110,user input received at the user portal 118 during operation of any ofthe modes of the treatment plan, a level of discomfort the userexperiences before and after any of the modes, before and after sessionimages of the affected body part, and so forth.

In some embodiments the cloud-based computing system 116 may include atraining engine 130 that is capable of generating one or more machinelearning models 132. The machine learning models 132 may be trained togenerate treatment plans for the patients in response to receivingvarious inputs (e.g., a procedure performed on the patient, an affectedbody part the procedure was performed on, other health characteristics(age, race, fitness level, etc.). The one or more machine learningmodels 132 may be generated by the training engine 130 and may beimplemented in computer instructions that are executable by one or moreprocessing device of the training engine 130 and/or the servers 128. Togenerate the one or more machine learning models 132, the trainingengine 130 may train the one or more machine learning models 132. Thetraining engine 130 may use a base data set of patient characteristics,treatment plans followed by the patient, and results of the treatmentplan followed by the patients. The results may include informationindicating whether the treatment plan led to full recovery of theaffected body part, partial recover of the affect body part, or lack ofrecovery of the affected body part. The training engine 130 may be arackmount server, a router computer, a personal computer, a portabledigital assistant, a smartphone, a laptop computer, a tablet computer, acamera, a video camera, a netbook, a desktop computer, a media center,or any combination of the above. The one or more machine learning models132 may refer to model artifacts that are created by the training engine130 using training data that includes training inputs and correspondingtarget outputs. The training engine 130 may find patterns in thetraining data that map the training input to the target output, andgenerate the machine learning models 132 that capture these patterns.Although depicted separately from the computing device 102, in someembodiments, the training engine 130 and/or the machine learning models132 may reside on the computing device 102 and/or the computing device114.

The machine learning models 132 may include one or more of a neuralnetwork, such as an image classifier, recurrent neural network,convolutional network, generative adversarial network, a fully connectedneural network, or some combination thereof, for example. In someembodiments, the machine learning models 106 may be composed of a singlelevel of linear or non-linear operations or may include multiple levelsof non-linear operations. For example, the machine learning model mayinclude numerous layers and/or hidden layers that perform calculations(e.g., dot products) using various neurons.

FIG. 2 illustrates a perspective view of an example of an exercise andrehabilitation device 104 according to certain embodiments of thisdisclosure. The electromechanical device 104 is shown having pedal 110on opposite sides that are adjustably positionable relative to oneanother on respective radially-adjustable couplings 124. The depicteddevice 104 is configured as a small and portable unit so that it iseasily transported to different locations at which rehabilitation ortreatment is to be provided, such as at patients' homes, alternativecare facilities, or the like. The patient may sit in a chair proximatethe device 104 to engage the device 104 with their feet, for example.

The device 104 includes a rotary device such as radially-adjustablecouplings 124 or flywheel or the like rotatably mounted such as by acentral hub to a frame 16 or other support. The pedals 110 areconfigured for interacting with a patient to be rehabilitated and may beconfigured for use with lower body extremities such as the feet, legs,or upper body extremities, such as the hands, arms, and the like. Forexample, the pedal 110 may be a bicycle pedal of the type having a footsupport rotatably mounted onto an axle with bearings. The axle may ormay not have exposed end threads for engaging a mount on theradially-adjustable coupling 124 to locate the pedal on theradially-adjustable coupling 124. The radially-adjustable coupling 124may include an actuator configured to radially adjust the location ofthe pedal to various positions on the radially-adjustable coupling 124.

The radially-adjustable coupling 124 may be configured to have bothpedals 110 on opposite sides of a single coupling 124. In someembodiments, as depicted, a pair of radially-adjustable couplings 124may be spaced apart from one another but interconnected to the electricmotor 122. In the depicted example, the computing device 102 may bemounted on the frame 200 and may be detachable and held by the userwhile the user operates the device 104. The computing device 102 maypresent the user portal and control the operation of the electric motor122, as described herein.

In some embodiments, as described in U.S. Pat. No. 10,173,094 B2, whichis incorporated by reference herein in its entirety for all purposes,the electromechanical device 104 may take the form of a traditionalexercise/rehabilitation device which is more or less non-portable andremains in a fixed location (e.g., such as a rehabilitation clinic ormedical practice). The device 104 may include a seat and be lessportable than the device 104 shown in FIG. 2 .

FIG. 3 illustrates example operations of a method 300 for controlling anelectromechanical device for rehabilitation in various modes accordingto certain embodiments of this disclosure. The method 300 may beperformed by processing logic that may include hardware (circuitry,dedicated logic, etc.), firmware, software, or a combination of both.The method 300 and/or each of their individual functions, subroutines,or operations may be performed by one or more processors of a controlsystem (e.g., computing device 102 of FIG. 1 ) implementing the method300. The method 300 may be implemented as computer instructions that,when executed by a processing device, execute the user portal 118. Incertain implementations, the method 300 may be performed by a singleprocessing thread. Alternatively, the method 300 may be performed by twoor more processing threads, each thread implementing one or moreindividual functions, routines, subroutines, or operations of themethods. Various operations of the method 300 may be performed by one ormore of the cloud-based computing system 116, the motor controller 120,the pedals 110, the goniometer 106, the wristband 108, and/or thecomputing device 114 of FIG. 1 .

As discussed above, an electromechanical device may include one or morepedals coupled to one or more radially-adjustable couplings, an electricmotor coupled to the one or more pedals via the one or moreradially-adjustable couplings, and the control system including one ormore processing devices operatively coupled to the electric motor. Insome embodiments, the control system (e.g., computing device 102 and/ormotor controller 120) may store instructions and one or more operationsof the control system may be presented via the user portal. In someembodiments the radially-adjustable couplings are configured fortranslating rotational motion of the electric motor to radial motion ofthe pedals.

At block 302, responsive to a first trigger condition occurring, theprocessing device may control the electric motor to operate in a passivemode by independently driving the one or more radially-adjustablecouplings rotationally coupled to the one or more pedals. “Independentlydrive” may refer to the electric motor driving the one or moreradially-adjustable couplings without the aid of another driving source(e.g., the user). The first trigger condition may include an initiationof a pedaling session via the user interface of the control system, aperiod of time elapsing, a detected physical condition (e.g., heartrate,oxygen level, blood pressure, etc.) of a user operating theelectromechanical device, a request received from the user via the userinterface, or a request received via a computing device communicativelycoupled to the control system (e.g., a request received from thecomputing device executing the clinical portal). The processing devicemay control the electric motor to independently drive the one or moreradially-adjustable couplings rotationally coupled to the one or morepedals at a controlled speed specified in a treatment plan for a useroperating the electromechanical device while operating in the passivemode.

In some embodiments, the electromechanical device may be configured suchthat the processor controls the electric motor to individually drive theradially-adjustable couplings. For example, the processing device maycontrol the electric motor to individually drive the left or rightradially-adjustable coupling, while allowing the user to provide theforce to drive the other radially-adjustable coupling. As anotherexample, the processing device may control the electric motor to driveboth the left and right radially-adjustable couplings but at differentspeeds. This granularity of control may be beneficial by controlling thespeed at which a healing body part is moved (e.g., rotated, flexed,extended, etc.) to avoid tearing tendons or causing pain to the user.

At block 304, responsive to a second trigger condition occurring, theprocessing device may control the electric motor to operate in anactive-assisted mode by measuring (block 306) revolutions per minute ofthe one or more radially-adjustable couplings, and causing (block 308)the electric motor to drive the one or more radially-adjustablecouplings rotationally coupled to the one or more pedals when themeasured revolutions per minute satisfy a threshold condition. Thesecond trigger condition may include an initiation of a pedaling sessionvia the user interface of the control system, a period of time elapsing,a detected physical condition (e.g., heartrate, oxygen level, bloodpressure, etc.) of a user operating the electromechanical device, arequest received from the user via the user interface, or a requestreceived via a computing device communicatively coupled to the controlsystem (e.g., a request received from the computing device executing theclinical portal). The threshold condition may be satisfied when themeasured revolutions per minute are less than a minimum revolutions perminute. In such an instance, the electric motor may begin driving theone or more radially-adjustable couplings to increase the revolutionsper minute of the radially-adjustable couplings.

As with the passive mode, the processing device may control the electricmotor to individually drive the one or more radially-adjustablecouplings in the active-assisted mode. For example, if just a right kneeis being rehabilitated, the revolutions per minute of the rightradially-adjustable coupling may be measured and the processing devicemay control the electric motor to individually drive the rightradially-adjustable coupling when the measured revolutions per minute isless than the minimum revolutions per minute. In some embodiments, theremay be different minimum revolution per minutes set for the leftradially-adjustable coupling and the right radially-adjustable coupling,and the processing device may control the electric motor to individuallydrive the left radially-adjustable coupling and the rightradially-adjustable coupling as appropriate to maintain the differentminimum revolutions per minute.

At block 310, responsive to a third trigger condition occurring, theprocessing device may control the electric motor to operate in aresistive mode by providing resistance to rotation of the one or moreradially-adjustable couplings coupled to the one or more pedals. Thethird trigger condition may include an initiation of a pedaling sessionvia the user interface of the control system, a period of time elapsing,a detected physical condition (e.g., heartrate, oxygen level, bloodpressure, etc.) of a user operating the electromechanical device, arequest received from the user via the user interface, or a requestreceived via a computing device communicatively coupled to the controlsystem (e.g., a request received from the computing device executing theclinical portal).

In some embodiments, responsive to a fourth trigger condition occurring,the processing device is further configured to control the electricmotor to operate in an active mode by powering off to enable anothersource (e.g., the user) to drive the one or more radially-adjustablecouplings via the one or more pedals. In the active mode, the anothersource may drive the one or more radially-adjustable couplings via theone or more pedals at any desired speed.

In some embodiments, the processing device may control the electricmotor to operate in each of the passive mode, the active-assisted mode,the resistive mode, and/or the active mode for a respective period oftime during a pedaling session based on a treatment plan for a useroperating the electromechanical device. In some embodiments, the variousmodes and the respective periods of time may be selected by a clinicianthat sets up the treatment plan using the clinical portal. In someembodiments, the various modes and the respective periods of time may beselected by a machine learning model trained to receive parameters(e.g., procedure performed on the user, body part on which the procedurewas performed, health of the user) and to output a treatment plan torehabilitate the affected body part, as described above.

In some embodiments, the processing device may modify one or morepositions of the one or more pedals on the one or moreradially-adjustable couplings to change one or more diameters of rangesof motion of the one or more pedals during any of the passive mode,active-assisted mode, the resistive mode, and/or the active modethroughout a pedaling session for a user operating the electromechanicaldevice. The processing device may be further configured to modify theposition of one of the one or more pedals on one of the one or moreradially-adjustable couplings to change the diameter of the range ofmotion of the one of the one or more pedals while maintaining anotherposition of another of the one or more pedals on another of the one ormore radially-adjustable couplings to maintain another diameter ofanother range of motion of the another pedal. In some embodiments, theprocessing device may cause both positions of the pedals to move tochange the diameter of the range of motion for both pedals. The amountof movement of the positions of the pedals may be individuallycontrolled in order to provide different diameters of ranges of motionsof the pedals as desired.

In some embodiments, the processing device may receive, from thegoniometer worn by the user operating the electromechanical device, atleast one of an angle of extension of a joint of the user during apedaling session or an angle of bend of the joint of the user during thepedaling session. In some instances, the joint may be a knee or anelbow. The goniometer may be measuring the angles of bend and/orextension of the joint and continuously or periodically transmitting theangle measurements that are received by the processing device. Theprocessing device may modify the positions of the pedals on theradially-adjustable couplings to change the diameters of the ranges ofmotion of the pedals based on the at least one of the angle of extensionof the joint of the user or the angle of bend of the joint of the user.

In some embodiments, the processing device may receive, from thegoniometer worn by the user, a set of angles of extension between anupper leg and a lower leg at a knee of the user as the user extends thelower leg away from the upper leg via the knee. In some embodiments, thegoniometer may send the set of angles of extension between an upper arm,upper body, etc. and a lower arm, lower body, etc. The processing devicemay present, on a user interface of the control system, a graphicalanimation of the upper leg, the lower leg, and the knee of the user asthe lower leg is extended away from the upper leg via the knee. Thegraphical animation may include the set of angles of extension as theset of angles of extension change during the extension. The processingdevice may store, in a data store of the control system, a lowest valueof the set of angles of extension as an extension statistic for anextension session. A set of extension statistics may be stored for a setof extension sessions specified by the treatment plan. The processingdevice may present progress of the set of extension sessions throughoutthe treatment plan via a graphical element (e.g., line graph, bar chart,etc.) on the user interface presenting the set of extension statistics.

In some embodiments, the processing device may receive, from thegoniometer worn by the user, a set of angles of bend or flex between anupper leg and a lower leg at a knee of the user as the user retracts thelower leg closer to the upper leg via the knee. In some embodiments, thegoniometer may send the set of angles of bend between an upper arm,upper body, etc. and a lower arm, lower body, etc. The processing devicemay present, on a user interface of the control system, a graphicalanimation of the upper leg, the lower leg, and the knee of the user asthe lower leg is retracted closer to the upper leg via the knee. Thegraphical animation may include the set of angles of bend as the set ofangles of bend change during the bending. The processing device maystore, in a data store of the control system, a highest value of the setof angles of bend as a bend statistic for a bend session. A set of bendstatistics may be stored for a set of bend sessions specified by thetreatment plan. The processing device may present progress of the set ofbend sessions throughout the treatment plan via a graphical element(e.g., line graph, bar chart, etc.) on the user interface presenting theset of bend statistics.

In some embodiments, the angles of extension and/or bend of the jointmay be transmitted by the goniometer to a computing device executing aclinical portal. A clinician may be operating the computing deviceexecuting the clinical portal. The clinical portal may present agraphical animation of the upper leg extending away from the lower legand/or the upper leg bending closer to the lower leg in real-time duringa pedaling session, extension session, and/or a bend session of theuser. In some embodiments, the clinician may provide notifications tothe computing device to present via the user portal. The notificationsmay indicate that the user has satisfied a target extension and/or bendangle. Other notifications may indicate that the user has extended orretracted a body part too far and should cease the extension and/or bendsession. In some embodiments, the computing device executing theclinical portal may transmit a control signal to the control system tomove a position of a pedal on the radially-adjustable coupling based onthe angle of extension or angle of bend received from the goniometer.That is, the clinician can increase a diameter of range of motion for abody part of the user in real-time based on the measured angles ofextension and/or bend during a pedaling session. This may enable theclinician dynamically control the pedaling session to enhance therehabilitation results of the pedaling session.

In some embodiments, the processing device may receive, from a wearabledevice (e.g., wristband), an amount of steps taken by a user over acertain time period (e.g., day, week, etc.). The processing device maycalculate whether the amount of steps satisfies a step threshold of awalking session of a treatment plan for the user. The processing devicemay present the amount of steps taken by the user on a user interface ofthe control system and may present an indication of whether the amountof steps satisfies the step threshold.

The wristband may also measure one or more vital statistics of the user,such as a heartrate, oxygen level, blood pressure, and the like. Themeasurements of the vital statistics may be performed at any suitabletime, such as during a pedaling session, walking session, extensionsession, and/or bend session. The wristband may transmit the one or morevital statistics to the control system. The processing device of thecontrol system may use the vital statistics to determine whether toreduce resistance the electric motor is providing to lower one of thevital statistics (e.g., heartrate) when that vital statistic is above athreshold, to determine whether the user is in pain when one of thevital statistics is elevated beyond a threshold, to determine whether toprovide a notification indicating the user should take a break orincrease the intensity of the appropriate session, and so forth.

In some embodiments, the processing device may receive a request to stopthe one or more pedals from moving. The request may be received by auser selecting a graphical icon representing “stop” on the user portalof the control system. The processing device may cause the electricmotor to lock and stop the one or more pedals from moving over aconfigured period of time (e.g., instantly, over 1 second, 2 seconds, 3seconds, 5 seconds, 10 seconds, etc.). One benefit of including anelectric motor in the electromechanical device is the ability to stopthe movement of the pedals as soon as a user desires.

In some embodiments, the processing device may receive, from one or moreforce sensors operatively coupled to the one or more pedals and the oneor more processing devices, one or more measurements of force on the oneor more pedals. The force sensors may be operatively coupled with theone or more processing devices via a wireless connection (e.g.,Bluetooth) provided by wireless circuitry of the pedals. The processingdevice may determine whether the user has fallen from theelectromechanical device based on the one or more measurements of force.Responsive to determining that the user has fallen from theelectromechanical device, the processing device may lock the electricmotor to stop the one or more pedals from moving.

Additionally or alternatively, the processing device may determine thatfeet or hands have separated from the pedals based on the one or moremeasurements of force. In response to determining that the feed or handshave separated from the pedals, the processing device may lock theelectric motor to stop the one or more pedals from moving. Also, theprocessing device may present a notification on a user interface of thecontrol system that instructs the user to place their feet or hands incontact with the pedals.

In some embodiments, the processing device may receive, from the forcesensors operatively coupled to the one or more pedals, the measurementsof force exerted by a user on the pedals during a pedaling session. Theprocessing device may present the respective measurements of force oneach of the pedals on a separate respective graphical scale on the userinterface of the control system while the user pedals during thepedaling session. Various graphical indicators may be presented on theuser interface to indicate when the force is below a threshold targetrange, within the threshold target range, and/or exceeds the thresholdtarget range. Notifications may be presented to encourage the user toapply more force and/or less force to achieve the threshold target rangeof force. For example, the processing device is to present a firstnotification on the user interface when the one or more measurements offorce satisfy a pressure threshold and present a second notification onthe user interface when the one or more measurements do not satisfy thepressure threshold.

In addition, the processing device may provide an indicator to the userbased on the one or more measurements of force. The indicator mayinclude at least one of (1) providing haptic feedback in the pedals,handles, and/or seat of the electromechanical device, (2) providingvisual feedback on the user interface (e.g., an alert, a light, a sign,etc.), (3) providing audio feedback via an audio subsystem (e.g.,speaker) of the electromechanical device, or (4) illuminating a warninglight of the electromechanical device.

In some embodiments, the processing device may receive, from anaccelerometer of the control system, motor controller, pedal, or thelike, a measurement of acceleration of movement of the electromechanicaldevice. The processing device may determine whether theelectromechanical device has moved excessively relative to a verticalaxis (e.g., fallen over) based on the measurement of acceleration.Responsive to determining that the electromechanical device has movedexcessively relative to the vertical axis based on the measurement ofacceleration, the processing device may lock the electric motor to stopthe one or more pedals from moving.

After a pedaling session is complete, the processing device may lock theelectric motor to prevent the one or more pedals from moving a certainamount of time after the completion of the pedaling session. This mayenable healing of the body part being rehabilitated and prevent strainon that body part by excessive movement. Upon expiration of the certainamount of time, the processing device may unlock the electric motor toenable movement of the pedals again.

The user portal may provide an option to image the body part beingrehabilitated. For example, the user may place the body part within animage capture section of the user portal and select an icon to capturean image of the body part. The images may be captured before and after apedaling session, walking session, extension session, and/or bendsession. These images may be sent to the cloud-based computing system touse as training data for the machine learning model to determine theeffects of the session. Further, the images may be sent to the computingdevice executing the clinical portal to enable the clinician to view theresults of the sessions and modify the treatment plan if desired and/orprovide notifications (e.g., reduce resistance, increase resistance,extend the joint further or less, etc.) to the user if desired.

FIG. 4 illustrates example operations of a method 400 for controlling anamount of resistance provided by an electromechanical device accordingto certain embodiments of this disclosure. Method 400 includesoperations performed by processing devices of the control system (e.g.,computing device 102) of FIG. 1 . In some embodiments, one or moreoperations of the method 400 are implemented in computer instructionsthat, when executed by a processing device, execute the control systemand/or the user portal. Various operations of the method 400 may beperformed by one or more of the computing device 114, the cloud-basedcomputing system 116, the motor controller 120, the pedal 110, thegoniometer 106, and/or the wristband 108. The method 400 may beperformed in the same or a similar manner as described above in regardsto method 300.

At block 402, the processing device may receive configurationinformation for a pedaling session. The configuration information may bereceived via selection by the user on the user portal executing on thecomputing device, received from the computing device executing theclinical portal, downloaded from the cloud-based computing system,retrieved from a memory device of the computing device executing theuser portal, or some combination thereof. For example, the clinician mayselect the configuration information for a pedaling session of a patientusing the clinical portal and upload the configuration information fromthe computing device to a server of the cloud-based computing system.

The configuration information for the pedaling session may specify oneor more modes in which the electromechanical device is to operate, andconfiguration information specific to each of the modes, an amount oftime to operate each mode, and the like. For example, for a passivemode, the configuration information may specify a position for the pedalto be in on the radially-adjustable couplings and a speed at which tocontrol the electric motor. For the resistive mode, the configurationinformation may specify an amount of resistive force the electric motoris to apply to rotation of radially-adjustable couplings during thepedaling session, a maximum pedal force that is desired for the user toexert on each pedal of the electromechanical device during the pedalingsession, and/or a revolutions per minute threshold for theradially-adjustable couplings. For the active-assisted mode, theconfiguration information may specify a minimum pedal force and amaximum pedal force that is desired for the user to exert on each pedalof the electromechanical device, a speed to operate the electric motorat which to drive one or both of the radially-adjustable couplings, andso forth.

In some embodiments, responsive to receiving the configurationinformation, the processing device may determine that a triggercondition has occurred. The trigger condition may include receiving aselection of a mode from a user, an amount of time elapsing, receiving acommand from the computing device executing the clinical portal, or thelike. The processing device may control, based on the trigger conditionoccurring, the electric motor to operate in a resistive mode byproviding a resistance to rotation of the pedals based on the triggercondition.

At block 404, the processing device may set a resistance parameter and amaximum pedal force parameter based on the amount of resistive force andthe maximum pedal force, respectively, included in the configurationinformation for the pedaling session. The resistance parameter and themaximum force parameter may be stored in a memory device of thecomputing device and used to control the electric motor during thepedaling session. For example, the processing device may transmit acontrol signal along with the resistance parameter and/or the maximumpedal force parameter to the motor controller, and the motor controllermay drive the electric motor using at least the resistance parameterduring the pedaling session.

At block 406, the processing device may measure force applied to pedalsof the electromechanical device as a user operates (e.g., pedals) theelectromechanical device. The electric motor of the electromechanicaldevice may provide resistance during the pedaling session based on theresistance parameter. A force sensor disposed in each pedal andoperatively coupled to the motor controller and/or the computing deviceexecuting the user portal may measure the force exerted on each pedalthroughout the pedaling session. The force sensors may transmit themeasured force to a processing device of the pedals, which in turncauses a communication device to transmit the measured force to theprocessing device of the motor controller and/or the computing device.

At block 408, the processing device may determine whether the measuredforce exceeds the maximum pedal force parameter. The processing devicemay compare the measured force to the maximum pedal force parameter tomake this determination.

At block 410, responsive to determining that the measured force exceedsthe maximum pedal force parameter, the processing device may reduce theresistance parameter so the electric motor applies less resistanceduring the pedaling session to maintain the revolutions per minutethreshold specified in the configuration information. Reducing theresistance may enable the user to pedal faster, thereby increasing therevolutions per minute of the radially-adjustable couplings. Maintainingthe revolutions per minute threshold may ensure that the patient isexercising the affected body part as rigorously as desired during themode. In response to determining that the measured force does not exceedthe maximum pedal force parameter, the processing device may maintainthe same maximum pedal force parameter specified by the configurationinformation during the pedaling session.

In some embodiments, the processing device may determine than a secondtrigger condition has occurred. The second trigger condition may includereceiving a selection of a mode from a user via the user portal, anamount of time elapsing, receiving a command from the computing deviceexecuting the clinical portal, or the like. The processing device maycontrol, based on the trigger condition occurring, the electric motor tooperate in a passive mode by independently driving one or moreradially-adjustable couplings coupled to the pedals in a rotationalfashion. The electric motor may drive the one or moreradially-adjustable couplings at a speed specified in the configurationinformation without another driving source. Also, the electric motor maydrive each of the one or more radially-adjustable couplings individuallyat different speeds.

In some embodiments, the processing device may determine that a thirdtrigger condition has occurred. The third trigger condition may besimilar to the other trigger conditions described herein. The processingdevice may control, based on the third trigger condition occurring, theelectric motor to operate in an active-assisted mode by measuringrevolutions per minute of the one or more radially-adjustable couplingscoupled to the pedals and causing the electric motor to drive in arotational fashion the one or more radially-adjustable couplings coupledto the pedals when the measured revolutions per minute satisfy athreshold condition.

In some embodiments, the processing device may receive, from agoniometer worn by the user operating the electromechanical device, aset of angles of extension between an upper leg and a lower leg at aknee of the user. The set of angles are measured as the user extends thelower leg away from the upper leg via the knee. In some embodiments, theangles of extension may represent angles between extending a lower armaway from an upper arm at an elbow. Further, the processing device mayreceive, from the goniometer, a set of angles of bend between the upperleg and the lower leg at the knee of the user. The set of angles of bendare measured as the user retracts the lower leg closer to the upper legvia the knee. In some embodiments, the angles of bend represent anglesbetween bending a lower arm closer to an upper arm at an elbow.

The processing device may determine whether a range of motion thresholdcondition is satisfied based on the set of angles of extension and theset of angles of bend. Responsive to determining that the range ofmotion threshold condition is satisfied, the processing device maymodify a position of one of the pedals on one of the radially-adjustablecouplings to change a diameter of a range of motion of the one of thepedals. Satisfying the range of motion threshold condition may indicatethat the affected body part is strong enough or flexible enough toincrease the range of motion allowed by the radially-adjustablecouplings.

FIG. 5 illustrates example operations of a method 500 for measuringangles of bend and/or extension of a lower leg relative to an upper legusing a goniometer according to certain embodiments of this disclosure.In some embodiments, one or more operations of the method 500 areimplemented in computer instructions that are executed by the processingdevices of the goniometer. 106 of FIG. 1 . The method 500 may beperformed in the same or a similar manner as described above in regardsto method 300.

At block 502, the processing device may receive a set of angles from theone or more goniometers. The goniometer may measure angles of extensionand/or bend between an upper body part (leg, arm, torso, neck, head,etc.) and a lower body part (leg, arm, torso, neck head, hand, feet,etc.) as the body parts are extended and/or bent during various sessions(e.g., pedaling session, walking session, extension session, bendsession, etc.). The set of angles may be received while the user ispedaling one or more pedals of the electromechanical device.

At block 504, the processing device may transmit, via one or morenetwork interface cards, the set of angles to a computing devicecontrolling the electromechanical device. The electromechanical devicemay be operated by a user rehabilitating an affected body part. Forexample, the user may have recently had surgery to repair a second orthird degree sprain of an anterior cruciate ligament (ACL). Accordingly,the goniometer may be secured proximate to the knee around the upper andlower leg by the affected ACL.

In some embodiments, transmitting the set of angles to the computingdevice controlling the electromechanical device may cause the computingdevice to adjust a position of one of one or more pedals on aradially-adjustable coupling based on the set of angles satisfying arange of motion threshold condition. The range of motion thresholdcondition may be set based on configuration information for a treatmentplan received from the cloud-based computing system or the computingdevice executing the clinical portal. The position of the pedal isadjusted to increase a diameter of a range of motion transited by anupper body part (e.g., leg), lower body part (e.g., leg), and a joint(e.g., knee) of the user as the user opera In some embodiments, theposition of the pedal may be adjusted in real-time while the user isoperating the electromechanical device. In some embodiments, the userportal may present a notification to the user indicating that theposition of the pedal should be modified, and the user may modify theposition of the pedal and resume operating the electromechanical devicewith the modified pedal position.

In some embodiments, transmitting the set of angles to the computingdevice may cause the computing device executing the user portal topresent the set of angles in a graphical animation of the lower bodypart and the upper body part moving in real-time during the extension orthe bend. In some embodiments, the set of angles may be transmitted tothe computing device executing the clinical portal, and the clinicalportal may present the set of angles in a graphical animation of thelower body part and the upper body part moving in real-time during theextension or the bend. In addition, the set of angles may be presentedin one or more graphs or charts on the clinical portal and/or the userportal to depict progress of the extension or bend for the user.

FIGS. 6-12 illustrate various detailed views of the components of therehabilitation system disclosed herein.

For example, FIG. 6 illustrates an exploded view of components of theexercise and rehabilitation electromechanical device 104 according tocertain embodiments of this disclosure. The electromechanical device 104may include a pedal 110 that couples to a left radially-adjustablecoupling 124 via a left pedal arm assembly 600 disposed within a cavityof the left radially-adjustable coupling 124. The radially-adjustablecoupling 124 may be disposed in a circular opening of a left outer cover601 and the pedal arm assembly 600 may be secured to a drivesub-assembly 602. The drive sub-assembly 602 may include the electricmotor 122 that is operatively coupled to the motor controller 120. Thedrive sub-assembly 602 may include one or more braking mechanisms, suchas disk brakes, that enable instantaneously locking the electric motor122 or stopping the electric motor 122 over a period of time. Theelectric motor 122 may be any suitable electric motor (e.g., acrystallite electric motor). The drive sub-assembly 602 may be securedto a frame sub-assembly 604. A top support sub-assembly 606 may besecured on top of the drive sub-assembly 602.

A right pedal 110 couples to a left radially-adjustable coupling 124 viaa right pedal arm assembly 600 disposed within a cavity of the rightradially-adjustable coupling 124. The right radially-adjustable coupling124 may be disposed in a circular opening of a right outer cover 608 andthe right pedal arm assembly 600 may be secured to the drivesub-assembly 602. An internal volume may be defined when the left outercover 601 and the right outer cover 608 are secured together around theframe sub-assembly 604. The left outer cover 601 and the right outercover 608 may also make up the frame of the device 104 when securedtogether. The drive sub-assembly 602, top support sub-assembly 606, andpedal arm assemblies 600 may be disposed within the internal volume uponassembly. A storage compartment 610 may be secured to the frame.

Further, a computing device arm assembly 612 may be secured to the frameand a computing device mount assembly 614 may be secured to an end ofthe computing device arm assembly 612. The computing device 102 may beattached or detached from the computing device mount assembly 614 asdesired during operation of the device 104.

FIG. 7 illustrates an exploded view of a pedal assembly 600 according tocertain embodiments of this disclosure. The pedal assembly 600 includesa stepper motor 700. The stepper motor 700 may be any suitable steppermotor. The stepper motor 700 may include multiple coils organized ingroups referred to as phases. Each phase may be energized in sequence torotate the motor one step at a time. The control system may use thestepper motor 700 to move the position of the pedal on theradially-adjustable coupling.

The stepper motor 700 includes a barrel and pin that are insertedthrough a hole in a motor mount 702. A shaft coupler 704 and a bearing706 include through holes that receive an end of a first end leadscrew708. The leadscrew 708 is disposed in a lower cavity of a pedal arm 712.The pin of the electric motor may be inserted in the through holes ofthe shaft coupler 704 and the bearing 704 to secure to the first end ofthe leadscrew 708. The motor mount 702 may be secured to a frame of thepedal arm 712. Another bearing 706 may be disposed on another end of theleadscrew 708. An electric slip ring 710 may be disposed on the pedalarm 712.

A linear rail 714 is disposed in and secured to an upper cavity of thepedal arm 712. The linear rail 714 may be used to move the pedal todifferent positions as described further below. A number of linearbearing blocks 716 are disposed onto a top rib and a bottom rib of thelinear rail 714 such that the bearing blocks 716 can slide on the ribs.A spindle carriage 718 is secured to each of the bearing blocks 716. Asupport bearing 720 is used to provide support. The lead screw may beinserted in through hole 722 of the spindle carriage 718. A lead screwunit 724 may be secured at an end of the through hole 722 to house anend of the lead screw 708. A spindle 724 is attached to a hole of thespindle carriage 718. The end of the spindle 724 protrudes through ahole of a pedal arm cover 726 when the pedal arm assembly 600 isassembled. When the stepper motor 700 turns on, the lead screw 708 canbe rotated, thereby causing the spindle carriage 718 to move radiallyalong the linear rail 714. As a result, the spindle 724 may radiallytraverse the opening of the pedal arm cover 726 as desired.

FIG. 8 illustrates an exploded view of a drive sub-assembly 602according to certain embodiments of this disclosure. The drivesub-assembly 602 includes an electric motor 122. The electric motor 122is partially disposed in a crank bracket housing 800. A side of theelectric motor 122 includes a small molded pulley 802 secured to it viaa small pulley plate 804 by screws 806. Also disposed within the crankbracket housing 800 is a timing belt 808 and a large molded pulley 810.The timing belt 808 may include teeth on an interior side that engagewith teeth on the small molded pulley 802 and the large molded pulley810 to cause the large molded pulley 810 to rotate when the electricmotor 122 operates. The crank bracket housing 800 includes mountedbearing 814 on both sides through which cranks 814 of the large moldedpulley 810 protrude. The cranks 814 may be operatively coupled to thepedal assemblies.

FIG. 9 illustrates an exploded view of a portion of a goniometer 106according to certain embodiments of this disclosure. The goniometer 106includes an upper section 900 and a lower section 902. The upper section900 and the lower section 902 are rotatably coupled via a lower leg sidebrace 904. A bottom cap 906 may be inserted into a protruded cavity 918of the lower leg side brace 904. In some embodiments, the bottom cap 906includes a microcontroller 908. A thrust roller bearing 910 fits overthe protruded cavity 918 of the lower leg side brace 904, which isinserted into a cavity 920 of the upper section 900 and secured to theupper section 900 via an attachment, such as a screw 922. Second cavity924 is located on a side of the upper section 900 opposite to the sidehaving the cavity 920 with the inserted protruded cavity 918. A radialmagnet 912 and a microcontroller (e.g., a printed control board) 914 aredisposed in the second cavity 924 and a top cap 916 is placed on top tocover the second cavity 924. The microcontroller 908 and/or themicrocontroller 914 may include a network interface card 940 or a radioconfigured to communicate via a short range wireless protocol (e.g.,Bluetooth), a processing device 944, and a memory device 938. Further,either or both of the microcontrollers 908 and 914 may include amagnetic sensing encoder chip that senses the position of the radialmagnet 912. The position of the radial magnet 912 may be used todetermine an angle of bend or extension 2118, 2218 of the goniometer 106by the processing device(s) of the microcontrollers 908 and/or 914. Theangles of bend/extension 2118, 2218 may be transmitted via the radio tothe computing device 102. The lower section 902 defines an opening 932configured to receive a protruding tab 934 and a spring 930. The spring930 may be disposed along the opening 932 between the protruding tab 934and a side cap 926. The side cap 926 may be coupled to the protrudingtab 934 through the opening 932. One or more attachments 928 may couplethe side cap 926 to the protruding tab 934. The attachment 928 may be ascrew, a magnet, or any other desired attachment. The spring 930 can beconfigured to apply pressure on the side cap 926 to provide limitedmovement of the side cap 926 relative to the opening 932. The spring 930may allow for movement of the lower section 902 relative to the uppersection 900. The electronic device 106 can include additional and/orfewer components, including in different locations and/orconfigurations, and is not limited to those illustrated in FIG. 9 .

FIG. 10 illustrates a top view of a wristband 108 according to certainembodiments of this disclosure. The wristband 108 includes a strap witha clasp to secure the strap to a wrist of a person. The wristband 108may include one or more processing devices, memory devices, networkinterface cards, and so forth. The wristband 108 may include a display1000 configured to present information measured by the wristband 108.The wristband 108 may include an accelerometer, gyroscope, and/or analtimeter, as discussed above. The wristband 108 may also include alight sensor to detect a heartrate of the user wearing the wristband108. In some embodiments, the wristband 108 may include a pulse oximeterto measure an amount of oxygen (oxygen saturation) in the blood bysending infrared light into capillaries and measuring how much light isreflected off the gases. The wristband 108 may transmit the measurementdata to the computing device 102.

FIG. 11 illustrates an exploded view of a pedal 110 according to certainembodiments of this disclosure. The pedal 110 includes a molded pedaltop 1100 disposed on top of a molded pedal top support plate 1102. Themolded pedal top 1100 and the molded pedal top support plate 1102 aresecured to a molded pedal base plate 1104 via screws, for example. Themolded pedal base plate 1104 includes a strain gauge 1106 configured tomeasure force exerted on the pedal 110. The pedal 110 also includes amolded pedal bottom 1108 where a microcontroller 1110 is disposed. Themicrocontroller 1110 may include processing devices, memory devices,and/or a network interface card or radio configured to communicate via ashort range communication protocol, such as Bluetooth. The strain gauge1106 is operatively coupled to the microcontroller 1110 and the straingauge 1106 transmits the measured force to the microcontroller 1110. Themicrocontroller 1110 transmits the measured force to the computingdevice 102 and/or the motor controller 120 of the electromechanicaldevice 104. The molded pedal top 1100, the molded pedal top supportplate 1102, the molded pedal base plate 1104 are secured to the moldedpedal bottom 1108, which is further secured to a molded pedal bottomcover 1112. The pedal 110 also includes a spindle 1114 that couples withthe pedal arm assembly.

FIG. 12 illustrates additional views of the pedal according to certainembodiments of this disclosure. A top view 1200 of the pedal isdepicted, a perspective view 1202 of the pedal is depicted, a front view1204 of the pedal is depicted, and a side view 1206 of the pedal isdepicted.

FIGS. 13-29 illustrate different user interfaces of the user portal 118.A user may use the computing device 102, such as a tablet, to executethe user portal 118. In some embodiments, the user may hold the tabletin their hands and view the user portal 118 as they perform a pedalingsession. Various user interfaces of the user portal 118 may provideprompts for the user to affirm that they are wearing the goniometer andthe wristband, and that their feet are on the pedals.

FIG. 13 illustrates an example user interface 1300 of the user portal118, the user interface 1300 presenting a treatment plan 1302 for a useraccording to certain embodiments of this disclosure. The treatment plan1302 may be received from the computing device 114 executing theclinical portal 126 and/or downloaded from the cloud-based computingsystem 116. The physician may have generated the treatment plan 1302using the clinical portal 126 or the trained machine learning model(s)132 may have generated the treatment plan 1302 for the user. Asdepicted, the treatment plan 1302 presents the type of procedure (“rightknee replacement”) that the patient underwent. Further, the treatmentplan 1302 presents a pedaling session including a combination of themodes in which to operate the electromechanical device 104, as well as arespective set period of time for operating each of the modes. Forexample, the treatment plan 1302 indicates operating theelectromechanical device 104 in a passive mode for 5 minutes, anactive-assisted mode for 5 minutes, an active mode for 5 minutes, aresistive mode for 2 minutes, an active mode for 3 minutes, and apassive mode for 2 minutes. The total duration of the pedaling sessionis 22 minutes and the treatment plan 1302 also specifies that theposition of the pedal may be set according to a comfort level of thepatient. The user interface 1300 may be displayed as an introductoryuser interface prior to the user beginning the pedaling session.

FIG. 14 illustrates an example user interface 1400 of the user portal118, the user interface 1400 presenting pedal settings 1402 for a useraccording to certain embodiments of this disclosure. As depictedgraphical representation of feet are presented on the user interface1400 and two sliders including positions corresponding to portions ofthe feet. For example, a left slider includes positions L1, L2, L3, L4,and L5. A right slider includes positions R1, R2, R3, R4, and R5. Abutton 1404 may be slid up or down on the sliders to automaticallyadjust the pedal position on the radially-adjustable coupling via thepedal arm assembly. The pedal positions may be automatically populatedaccording to the treatment plan but the user has the option to modifythem based on comfort level. The changed positions may be stored locallyon the computing device 102, sent to the computing device 114 executingthe clinical portal 126, and/or sent to the cloud-based computing system116.

FIG. 15 illustrates an example user interface 1500 of the user portal118, the user interface 1500 presenting a scale 1502 for measuringdiscomfort of the user at a beginning of a pedaling session according tocertain embodiments of this disclosure. The scale 1502 may provideoptions ranging for no discomfort (e.g., smiley face), mild discomfort,to high discomfort. This discomfort information may be stored locally onthe computing device 102, sent to the computing device 114 executing theclinical portal 126, and/or sent to the cloud-based computing system116.

FIG. 16 illustrates an example user interface 1600 of the user portal118, the user interface 118 presenting that the electromechanical device104 is operating in a passive mode 1602 according to certain embodimentsof this disclosure. The user interface 1600 presents which pedalingsession 1604 (session 1) is being performed and how many other pedalingsessions are scheduled for the day. The user interface 1600 alsopresents an amount of time left in the pedaling session 1604 and anamount of time left in the current mode (passive mode). The full lineupof modes in the pedaling session 1604 are displayed in box 1606. Whilein the passive mode, the computing device controls the electric motor toindependently drive the radially-adjustable couplings so the user doesnot have to exert any force on the pedals but their affected body partand/or muscles are stretched and warmed up. At any time, if the user sodesires, the user may select a stop button 1608, which causes theelectric motor to lock and stop the rotation of the radially-adjustablecouplings instantaneously or over a set period of time. A descriptivebox 1610 may provide instructions related to the current mode to theuser.

FIGS. 17A-D illustrates an example user interface 1700 of the userportal 118, the user interface 1700 presenting that theelectromechanical device 104 is operating in active-assisted mode 1702and the user is applying various amounts of force to the pedalsaccording to certain embodiments of this disclosure. Graphicalrepresentations 1702 of feet are presented on the user interface 1700and the graphical representations may fill up based on the amount offorce measured at the pedals. The force sensors (e.g., strain gauge) inthe pedal may measure the forces exerted by the user and themicrocontroller of the pedal may transmit the force measurements to thecomputing device 102. Notifications may be presented when the amount offorce is outside of a threshold target force (e.g., either below a rangeof threshold target force or above the range of threshold target force).For example, in FIG. 17A, the right foot includes a notification toapply more force with the right foot because the current force measuredat the pedal is below the threshold target force.

A virtual tachometer 1706 is also presented that measures therevolutions per minute of the radially-adjustable and displays thecurrent speed that the user is pedaling. The tachometer 1706 includesareas 1708 (between 0 and 10 revolutions per minute and between 20 and30 revolutions per minute) that the user should avoid according to theirtreatment plan. In the depicted example, the treatment plan specifiesthe user should keep the speed between 10 and 20 revolutions per minute.The electromechanical device 104 transmits the speed to the computingdevice 102 and the needle 1710 moves in real-time as the user operatesthe pedals. Notifications are presented near the tachometer 1706 thatmay indicate that the user should keep the speed above a certainthreshold revolutions per minute (e.g., 10 RPM). If the computing device102 receives a speed from the device 104 and the speed is below thethreshold revolutions per minute, the computing device 102 may controlthe electric motor to drive the radially-adjustable couplings tomaintain the threshold revolutions per minute.

FIG. 17B depicts the example user interface 1700 presenting a graphic1720 for the tachometer 1706 when the speed is below the thresholdrevolutions per minute. As depicted, a notification is presented thatsays “Too slow—speed up”. Also, the user interface 1700 presents anexample graphical representation 1721 of the right foot when thepressure exerted at the pedal is below the range of threshold targetforce. A notification may be presented that reads “Push more with yourright foot.” FIG. 17C depicts the example user interface 1700 presentinga graphic 1722 for the tachometer 1706 when the speed is within thedesired target revolutions per minute. Also, the user interface 1700presents an example graphical representation 1724 of the right foot whenthe pressure exerted at the pedal is within the range of thresholdtarget force. FIG. 17D depicts the example user interface 1700presenting a graphic 1726 for the tachometer 1706 when the speed isabove the desired target revolutions per minute. As depicted, anotification is presented that reads “Too fast—slow down”. Also, theuser interface 1700 presents an example graphical representation 1728 ofthe right foot when the pressure exerted at the pedal is above the rangeof threshold target force. A notification may be presented that reads“Push less with your right foot.”

FIG. 18 illustrates an example user interface 1800 of the user portal118, the user interface 1800 presenting a request 1802 to modify pedalposition while the electromechanical device 104 is operating inactive-assisted mode according to certain embodiments of thisdisclosure. The request 1802 may pop up on a regular interval asspecified in the treatment plan. If the user selects the “Adjust Pedals”button, the user portal 118 may present a screen that allows the user tomodify the position of the pedals.

FIG. 19 illustrates an example user interface 1900 of the user portal118, the user interface 1900 presenting a scale 1902 for measuringdiscomfort of the user at an end of a pedaling session according tocertain embodiments of this disclosure. The scale 1902 may provideoptions ranging for no discomfort (e.g., smiley face), mild discomfort,to high discomfort. This discomfort information may be stored locally onthe computing device 102, sent to the computing device 114 executing theclinical portal 126, and/or sent to the cloud-based computing system116.

FIG. 20 illustrates an example user interface 2000 of the user portal118, the user interface 2000 enabling the user to capture an image ofthe body part under rehabilitation according to certain embodiments ofthis disclosure. For example, an image capture zone 2002 is presented onthe user interface 2000 and the dotted lines 2004 will populate to showa rough outline of the leg, for example, with a circle to indicate wheretheir kneecap (patella) should be in the image. This enables the patientto line up their leg/knee for the image. The user may select a cameraicon 2006 to capture the image. If the user is satisfied with the image,the user can select a save button 2008 to store the image on thecomputing device 102 and/or in the cloud-based computing system 116.Also, the image may be transmitted to the computing device 114 executingthe clinical portal 126.

FIGS. 21A-D illustrate an example user interface 2100 of the user portal118. The user interface 2100 presents angles 2102 of an extension 2222or a bend 2122 of a lower leg relative to an upper leg according tocertain embodiments of this disclosure. As depicted in FIG. 21A, theuser interface 2100 presents a graphical animation 2104 of the user'sleg extending in real-time. The knee angle in the graphical animation2104 may match the angle 2102 presented on the user interface 2100, forexample, an angle of bend 2118 or an angle of extension 222. Thecomputing device 102 may receive the angles of extension 2218 from theelectronic device 106, and such device may be a goniometer or any otherdesired device that is worn by the user 2108 during an extension sessionand/or a pedaling session. To that end, although the graphical animation2104 depicts the user 2108 extending his or her leg during an extensionsession, it should be understood that the user portal 118 may beconfigured to display the angles 2102 in real-time as the user 2108operates the pedals 110 of the electromechanical device 104 inreal-time.

FIG. 21B illustrates the user interface 2100 with the graphicalanimation 2104 as the lower leg is extended farther away from the upperleg, and the angle 2102 changed from 84 to 60 degrees of extension. FIG.21C illustrates the user interface 2100 with the graphical animation2104 as the lower leg is extended even farther away from the upper leg.The computing device 102 may record the lowest angle to which the user2108 is able to extend his or her leg as measured by the electronicdevice 106, such as the goniometer. The angle 2102 may be sent to thecomputing device 114 and that lowest angle may be presented on theclinical portal 126 as an extension statistic for that extensionsession. Further, a bar 2110 may be presented and the bar 2110 may fillfrom left to right over a set amount of time. A notification mayindicate that the patient or user 2108 should push down on his or herknee over a set amount of time or until a set amount of time, minimum ormaximum, has elapsed. The user interface 2100 in FIG. 21D is similar toFIG. 21C but it presents the angle of bend 2118, measured by theelectronic device 106, such as the goniometer, as the user 2108 retractshis or her lower leg closer to his or her upper leg (e.g., during thebend 2122). As depicted, the graphical animation 2104 presented on theuser interface 2100 in real-time depicts the angle of the knee matchingthe angle 2102. The computing device 102 may record the highest anglethat the user 2108 is able to bend his or her leg as measured by theelectronic device, such as the goniometer 106. That angle 2102 may besent to the computing device 114 and that highest angle may be presentedon the clinical portal 126 as a bend statistic for that bend session.

FIG. 22 illustrates an example user interface 2200 of the user portal118, the user interface 2200 presenting a progress report 2202 for auser extending the lower leg away from the upper leg according tocertain embodiments of this disclosure. The user interface 2200 presentsa graph 2204 with the degrees of extension on a y-axis and the daysafter surgery on the x-axis. The angles depicted in the graph 2204 arethe lowest angles achieved each day. The user interface 2202 alsodepicts the lowest angle the user has achieved for extension andindicates an amount of improvement (83%) in extension since beginningthe treatment plan. The user interface 2200 also indicates how manydegrees are left before reaching a target extension angle.

FIG. 23 illustrates an example user interface 2300 of the user portal118, the user interface 2300 presenting a progress screen 2302 for auser bending the lower leg toward the upper leg according to certainembodiments of this disclosure. The user interface 2300 presents a graph2304 with the degrees of bend on a y-axis and the days after surgery onthe x-axis. The angles depicted in the graph 2304 are the highest anglesof bend achieved each day. The user interface 2202 also depicts thelowest angle the user has achieved for bending and indicates an amountof improvement (95%) in extension since beginning the treatment plan.The user interface 2200 also indicates how many degrees are left beforereaching a target bend angle.

FIG. 24 illustrates an example user interface 2400 of the user portal118, the user interface 2400 presenting a progress screen 2402 for adiscomfort level of the user according to certain embodiments of thisdisclosure. The user interface 2400 presents a graph 2404 with thediscomfort level on a y-axis and the days after surgery on the x-axis.The user interface 2400 also depicts the lowest discomfort level theuser has reported and a notification indicating the amount of discomfortlevel the user has improved throughout the treatment plan.

FIG. 25 illustrates an example user interface 2500 of the user portal118, the user interface 118 presenting a progress screen 2502 for astrength of a body part according to certain embodiments of thisdisclosure. The user interface 2500 presents a graph 2504 with thepounds of force exerted by the patient for both the left leg and theright leg on a y-axis and the days after surgery on the x-axis. Thegraph 2504 may show an average for left and right leg for a currentsession. For the number of sessions a user does each day, the averagepounds of force for those sessions may be displayed for prior days aswell. The user interface 2500 also depicts graphical representations2506 of the left and right feet and a maximum pound of force the userhas exerted for the left and right leg. The maximum pounds of forcedepicted may be derived from when the electromechanical device isoperating in the active mode. The user may select to see statistics forprior days and the average level of active sessions for that day may bepresented as well. The user interface 2500 indicates the amount ofimprovement in strength in the legs and the amount of strengthimprovement needed to satisfy a target strength goal.

FIG. 26 illustrates an example user interface 2600 of the user portal118, the user interface 118 presenting a progress screen 2602 for anamount of steps of the user according to certain embodiments of thisdisclosure. The user interface 2600 presents a graph 2604 with thenumber of steps taken by the user on a y-axis and the days after surgeryon the x-axis. The user interface 2500 also depicts the highest numberof steps the user has taken for amongst all of the days in the treatmentplan, the amount the user has improved in steps per day since startingthe treatment plan, and the amount of additional steps needed to meet atarget step goal. The user may select to view prior days to see theirtotal number of steps they have taken per day.

FIG. 27 illustrates an example user interface 2700 of the user portal118, the user interface 2700 presenting that the electromechanicaldevice 104 is operating in a manual mode 2702 according to certainembodiments of this disclosure. During the manual mode 2702, the usermay set the speed, resistance, time to exercise, position of pedals,etc. That is, essentially the control system for the electromechanicaldevice 104 may provide no assistance to operation of theelectromechanical device 104. When the user selects any of the modes inthe box 2704, a pedaling session may begin. Further, when the userselects button 2706, the user portal 118 may return to the userinterface 1300 depicted in FIG. 13 .

FIG. 28 illustrates an example user interface 2800 of the user portal118, the user interface 2800 presenting an option 2802 to modify a speedof the electromechanical device 104 operating in the passive mode 2802according to certain embodiments of this disclosure. The user may slidebutton 2806 to adjust the speed as desired during the passive mode wherethe electric motor is providing the driving force of theradially-adjustable couplings.

FIG. 29 illustrates an example user interface 2900 of the user portal118, the user interface 2900 presenting an option 2902 to modify aminimum speed of the electromechanical device 104 operating in theactive-assisted mode 2904 according to certain embodiments of thisdisclosure. The user may slide button 2906 to adjust the minimum speedthat the user should maintain before the electric motor begins providingdriving force.

FIG. 30 illustrates an example user interface 3000 of the clinicalportal 118, the user interface 3000 presenting various options availableto the clinician/physician according to certain embodiments of thisdisclosure. The clinical portal 118 may retrieve a list of patients fora particular physician who logs into the clinical portal 118. The listof patients may be stored on the computing device 114 or retrieved fromthe cloud-based computing system 116. A first option 3002 may enable theclinician to generate treatment plans for one or more of the patients,as described above. A second option 3004 may enable the clinician toview the number of sessions that each of the patients have completed in24 hours. This may enable the clinician to determine whether thepatients are keeping up with the treatment plan and send notificationsto those patients that are not completing the sessions. A third option3006 may enable the clinician to view the patients who have poorextension (e.g., angle of extension above a target extension for aparticular stage in the treatment plan). A fourth option 3008 may enablethe clinician to view the patients who have poor flexion (e.g., angle ofbend below a target bend for a particular stage in the treatment plan).A fifth option 3010 may enable the clinician to view the patientsreporting high pain levels. Regarding any of the options, the cliniciancan contact the user and inquire as to the status of their lack ofparticipation, extension, flexion, pain level etc. The clinical portal126 provides the benefit of direct monitoring of the patients progressby the clinician, which may enable faster and more effective recoveries.

Further, the clinical portal may include an option to control aspects ofoperating the electromechanical device 104. For example, the clinicianmay use the clinical portal 126 to adjust a position of a pedal based onangles of extension/bend received from the computing device 102 and/orthe goniometer 106 in real-time while the user is engaged in a pedalingsession or when the user is not engaged in the pedaling session. Theclinical portal 126 may enable the clinician to adjust the amount ofresistance provided by the electric motor 122 in response to determiningan amount of force exerted by the user exceeds a target force threshold.The clinical portal 126 may enable the clinician to adjust the speed ofthe electric motor 122, and so forth.

FIG. 31 illustrates example computer system 3100 which can perform anyone or more of the methods described herein, in accordance with one ormore aspects of the present disclosure. In one example, computer system3100 may correspond to the computing device 102 (e.g., user computingdevice), the computing device 114 (e.g., clinician computing device),one or more servers of the cloud-based computing system 116, thetraining engine 130, the servers 128, the motor controller 120, thepedals 110, the goniometer 106, and/or the wristband 108 of FIG. 1 . Thecomputer system 3100 may be capable of executing user portal 118 and/orclinical portal 126 of FIG. 1 . The computer system may be connected(e.g., networked) to other computer systems in a LAN, an intranet, anextranet, or the Internet. The computer system may operate in thecapacity of a server in a client-server network environment. Thecomputer system may be a personal computer (PC), a tablet computer, amotor controller, a goniometer, a wearable (e.g., wristband), a set-topbox (STB), a personal Digital Assistant (PDA), a mobile phone, a camera,a video camera, or any device capable of executing a set of instructions(sequential or otherwise) that specify actions to be taken by thatdevice. Further, while only a single computer system is illustrated, theterm “computer” shall also be taken to include any collection ofcomputers that individually or jointly execute a set (or multiple sets)of instructions to perform any one or more of the methods discussedherein.

The computer system 3100 includes a processing device 3102, a mainmemory 3104 (e.g., read-only memory (ROM), flash memory, dynamic randomaccess memory (DRAM) such as synchronous DRAM (SDRAM)), a static memory3106 (e.g., flash memory, static random access memory (SRAM)), and adata storage device 3108, which communicate with each other via a bus3110.

Processing device 3102 represents one or more general-purpose processingdevices such as a microprocessor, central processing unit, or the like.More particularly, the processing device 3102 may be a complexinstruction set computing (CISC) microprocessor, reduced instruction setcomputing (RISC) microprocessor, very long instruction word (VLIW)microprocessor, or a processor implementing other instruction sets orprocessors implementing a combination of instruction sets. Theprocessing device 3102 may also be one or more special-purposeprocessing devices such as an application specific integrated circuit(ASIC), a field programmable gate array (FPGA), a digital signalprocessor (DSP), network processor, or the like. The processing device3102 is configured to execute instructions for performing any of theoperations and steps discussed herein.

The computer system 3100 may further include a network interface device3112. The computer system 3100 also may include a video display 3114(e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), oneor more input devices 3116 (e.g., a keyboard and/or a mouse), and one ormore speakers 3118 (e.g., a speaker). In one illustrative example, thevideo display 3114 and the input device(s) 3116 may be combined into asingle component or device (e.g., an LCD touch screen).

The data storage device 3116 may include a computer-readable medium 3120on which the instructions 3122 (e.g., implementing control system, userportal, clinical portal, and/or any functions performed by any deviceand/or component depicted in the FIGURES and described herein) embodyingany one or more of the methodologies or functions described herein isstored. The instructions 3122 may also reside, completely or at leastpartially, within the main memory 3104 and/or within the processingdevice 3102 during execution thereof by the computer system 3100. Assuch, the main memory 3104 and the processing device 3102 alsoconstitute computer-readable media. The instructions 3122 may further betransmitted or received over a network via the network interface device3112.

While the computer-readable storage medium 3120 is shown in theillustrative examples to be a single medium, the term “computer-readablestorage medium” should be taken to include a single medium or multiplemedia (e.g., a centralized or distributed database, and/or associatedcaches and servers) that store the one or more sets of instructions. Theterm “computer-readable storage medium” shall also be taken to includeany medium that is capable of storing, encoding or carrying a set ofinstructions for execution by the machine and that cause the machine toperform any one or more of the methodologies of the present disclosure.The term “computer-readable storage medium” shall accordingly be takento include, but not be limited to, solid-state memories, optical media,and magnetic media.

None of the description in this application should be read as implyingthat any particular element, step, or function is an essential elementthat must be included in the claim scope. The scope of patented subjectmatter is defined only by the claims. Moreover, none of the claims isintended to invoke 35 U.S.C. § 112(f) unless the exact words “means for”are followed by a participle.

-   -   Clause 1: An electromechanical device for rehabilitation,        comprising:        -   one or more pedals coupled to one or more            radially-adjustable couplings;        -   an electric motor coupled to the one or more pedals via the            one or more radially-adjustable couplings;        -   a control system comprising one or more processing devices            operatively coupled to the electric motor, wherein the one            or more processing devices are configured to:            -   responsive to a first trigger condition occurring,                control the electric motor to operate in a passive mode                by independently driving the one or more                radially-adjustable couplings rotationally coupled to                the one or more pedals;            -   responsive to a second trigger condition occurring,                control the electric motor to operate in an                active-assisted mode by measuring revolutions per minute                of the one or more radially-adjustable couplings, and                causing the electric motor to drive the one or more                radially-adjustable couplings rotationally coupled to                the one or more pedals when the measured revolutions per                minute satisfy a threshold condition; and            -   responsive to a third trigger condition occurring,                control the electric motor to operate in a resistive                mode by providing resistance to rotation of the one or                more radially-adjustable couplings coupled to the one or                more pedals.    -   Clause 2: The electromechanical device of any preceding Clause,        wherein the one or more processing devices are further        configured to, responsive to a fourth trigger condition        occurring, control the electric motor to operate in an active        mode by powering off to enable another source to drive the one        or more radially-adjustable couplings via the one or more        pedals.    -   Clause 3: The electromechanical device of any preceding Clause,        wherein each of the first trigger condition, the second trigger        condition, the third trigger condition, and the fourth trigger        condition comprise at least one of an initiation of a pedaling        session via a user interface of the control system, a period of        time elapsing, a detected physical condition of a user operating        the electromechanical device, a request received from the user        via the user interface, or a request received via a computing        device communicatively coupled to the control system.    -   Clause 4: The electromechanical device of any preceding Clause,        wherein the radially-adjustable couplings are configured for        translating rotational motion of the electric motor to radial        motion of the pedals.    -   Clause 5: The electromechanical device of any preceding Clause,        wherein the electric motor operates in each of the passive mode,        the active-assisted mode, and the resistive mode for a        respective period of time during a pedaling session based on a        treatment plan for a user operating the electromechanical        device.    -   Clause 6. The electromechanical device of any preceding Clause,        wherein the one or more processing devices controls the electric        motor to independently drive the one or more radially-adjustable        couplings rotationally coupled to the one or more pedals at a        controlled speed specified in a treatment plan for a user        operating the electromechanical device while operating in the        passive mode.    -   Clause 7: The electromechanical device of any preceding Clause,        wherein the one or more processing devices are further        configured to modify one or more positions of the one or more        pedals on the one or more radially-adjustable couplings to        change one or more diameters of ranges of motion of the one or        more pedals during any of the plurality of modes throughout a        pedaling session for a user operating the electromechanical        device. Clause 8: The electromechanical device of any preceding        Clause, wherein the one or more processing devices are further        configured to modify the position of one of the one or more        pedals on one of the one or more radially-adjustable couplings        to change the diameter of the range of motion of the one of the        one or more pedals while maintaining another position of another        of the one or more pedals on another of the one or more        radially-adjustable couplings to maintain another diameter of        another range of motion of the another pedal.    -   Clause 9: The electromechanical device of any preceding Clause,        wherein the one or more processing devices are further        configured to:        -   receive, from a goniometer worn by the user, at least one of            an angle of extension of a joint of the user during a            pedaling session or an angle of bend of the joint of the            user during the pedaling session; and        -   modifying the one or more positions of the one or more            pedals on the one or more radially-adjustable couplings to            change the one or more diameters of the ranges of motion of            the one or more pedals based on the at least one of the            angle of extension of the joint of the user or the angle of            bend of the joint of the user.    -   Clause 10: The electromechanical device of any preceding Clause,        wherein the one or more processing devices are further        configured to:        -   receive, from a goniometer worn by the user, a plurality of            angles of extension between an upper leg and a lower leg at            a knee of the user as the user extends the lower leg away            from the upper leg via the knee; and        -   present, on a user interface of the control system, a            graphical animation of the upper leg, the lower leg, and the            knee of the user as the lower leg is extended away from the            upper leg via the knee, wherein the graphical animation            includes the plurality of angles of extension as the            plurality of angles of extension change during the            extension;        -   store a lowest value of the plurality of angles of extension            as an extension statistic for an extension session, wherein            a plurality of extension statistics is stored for a            plurality of extension sessions specified by the treatment            plan; and        -   present progress of the plurality of extension sessions            throughout the treatment plan via a graphical element on the            user interface presenting the plurality of extension            statistics.    -   Clause 11: The electromechanical device of any preceding Clause,        wherein the one or more processing devices are further        configured to:        -   receive, from a goniometer worn by the user, a plurality of            angles of bend between an upper leg and a lower leg at a            knee of the user as the user retracts the lower leg closer            to the upper leg via the knee; and        -   present, on a user interface of the control system, a            graphical animation of the upper leg, the lower leg, and the            knee of the user as the lower leg is retracted closer to the            upper leg via the knee, wherein the graphical animation            includes the plurality of angles of bend as the plurality of            angles of bend changes during the bend;        -   store a highest value of the plurality of angles of bend as            a bend statistic for a bend session, wherein a plurality of            bend statistics is stored for a plurality of bend sessions            specified by the treatment plan; and        -   present progress of the plurality of bend sessions            throughout the treatment plan via a graphical element on the            user interface presenting the plurality of bend statistics.    -   Clause 12: The electromechanical device of any preceding Clause,        wherein the one or more processing devices are further        configured to:        -   receive, from a wearable device, an amount of steps taken by            a user over a certain time period;        -   calculate whether the amount of steps satisfies a step            threshold of a treatment plan for the user; and        -   present the amount of steps taken by the user on a user            interface and an indication of whether the amount of steps            satisfies the step threshold.    -   Clause 13: The electromechanical device of any preceding Clause,        wherein the one or more processing devices are further        configured to:        -   receive a request to stop the one or more pedals from            moving; and        -   lock the electric motor to stop the one or more pedals from            moving over a configured period of time.    -   Clause 14: The electromechanical device of any preceding Clause,        wherein the one or more processing devices are further        configured to:        -   receive, from one or more force sensors operatively coupled            to the one or more pedals and the one or more processing            devices, one or more measurements of force on the one or            more pedals;        -   determine whether a user has fallen from the            electromechanical device based on the one or more            measurements of force; and        -   responsive to determining that the user has fallen from the            electromechanical device, lock the electric motor to stop            the one or more pedals from moving.    -   Clause 15: The electromechanical device of any preceding Clause,        wherein the one or more processing devices are further        configured to:        -   receive, from an accelerometer of the control system, a            measurement of acceleration of movement of the            electromechanical device;        -   determine whether the electromechanical device has moved            excessively relative to a vertical axis based on the            measurement of acceleration; and        -   responsive to determining that the electromechanical device            has moved excessively relative to the vertical axis based on            the measurement of acceleration, lock the electric motor to            stop the one or more pedals from moving.    -   Clause 16: The electromechanical device of any preceding Clause,        wherein the one or more processing devices are further to:        -   receive, from one or more force sensors operatively coupled            to the one or more pedals, one or more measurements of force            exerted by a user on the one or more pedals during a            pedaling session; and        -   present the respective one or more measurements of force on            each of the one or more pedals on a separate respective            graphical scale on a user interface while the user pedals            during the pedaling session.    -   Clause 17: The electromechanical device of any preceding Clause,        wherein the one or more processing devices are further to        present a first notification on the user interface when the one        or more measurements of force satisfy a pressure threshold and        present a second notification on the user interface when the one        or more measurements do not satisfy the pressure threshold.    -   Clause 18: The electromechanical device of any preceding Clause,        wherein the one or more processing devices are further to        provide an indicator to the patient based on the one or more        measurements of force, wherein the indicator comprises at least        one of (1) providing haptic feedback in the pedals, handles, or        seat, (2) providing visual feedback on the user interface, (3)        providing audio feedback via an audio subsystem of the        electromechanical device, or (4) illuminating a warning light of        the electromechanical device.    -   Clause 19: The electromechanical device of any preceding Clause,        wherein the one or more processing devices are further to lock        the electric motor to prevent the one or more pedals from moving        for a certain amount of time after a pedaling session is        complete, wherein the pedaling session comprises operating in        the passive mode, the active-passive mode, and the resistive        mode for respective periods of time.    -   Clause 20: The electromechanical device of any preceding Clause,        wherein the one or more processing devices are further        configured to:        -   control an imaging system to capture an image of a body part            of the patient being rehabilitated; and        -   transmit the image of the body part to a computing device            operated by a clinician, wherein the computing device is            communicatively coupled to the control system.    -   Clause 21. The electromechanical device of claim any preceding        Clause, wherein the first trigger condition, the second trigger        condition, and the third trigger condition are set based on a        treatment plan, wherein the treatment plan was generated by one        or more machine learning models trained to output the treatment        plan based on input related to at least one of a procedure the        user underwent or a characteristic of the user.    -   Clause 22: The electromechanical device of any preceding Clause,        wherein the one or more processing devices are further        configured to:        -   receive, from a wristband worn by the user, a heartbeat of            the user as the user operates the electromechanical device;            and        -   responsive to determining that the heartbeat exceeds a            target heartbeat condition, control the electric motor to            reduce the resistance provided to the rotation of the one or            more radially-adjustable couplings coupled to the one or            more pedals.    -   Clause 23: A method for controlling, via a processing device, an        electromechanical device, comprising:        -   receiving configuration information for a pedaling session;        -   setting a resistance parameter and a maximum pedal force            parameter based on the configuration information for the            pedaling session;        -   measuring force applied to pedals of the electromechanical            device as a user pedals the electromechanical device,            wherein an electric motor of the electromechanical device            provides resistance during the pedaling session based on the            resistance parameter;        -   determining whether the measured force exceeds the maximum            pedal force parameter; and        -   responsive to determining that the measured force exceeds            the maximum pedal force parameter, reducing the resistance            parameter so the electric motor applies less resistance            during the pedaling session to maintain a revolutions per            minute threshold.    -   Clause 24: The method of any preceding Clause, further        comprising, responsive to determining that the measured force        does not exceed the maximum pedal force parameter, maintaining        the same maximum pedal force parameter during the pedaling        session.    -   Clause 25: The method of any preceding Clause, wherein the        configuration information is received from a server computing        device that received the configuration information from a        clinical portal presented on a computing device.    -   Clause 26: The method of any preceding Clause, wherein the        configuration information comprises configuration information        specified for a stage of a plurality of stages in a treatment        plan for rehabilitating a body part of the user.    -   Clause 27: The method of any preceding Clause, further        comprising receiving a selection of the configuration        information from a user interface presented to the user.    -   Clause 28: The method of claim any preceding Clause, further        comprising:        -   responsive to receiving the configuration information,            determining that a trigger condition has occurred; and        -   controlling, based on the trigger condition occurring, the            electric motor to operate in a resistive mode by providing a            resistance to rotation of the pedals based on the trigger            condition.    -   Clause 29: The method of any preceding Clause, further        comprising:        -   determining that a trigger condition has occurred; and        -   controlling, based on the trigger condition occurring, the            electric motor to operate in a passive mode by independently            driving one or more radially-adjustable couplings coupled to            the pedals in a rotational fashion.    -   Clause 30: The method of any preceding Clause, further        comprising:        -   determining that a trigger condition has occurred; and        -   controlling, based on the trigger condition occurring, the            electric motor to operate in an active-assisted mode by            measuring revolutions per minute of one or more            radially-adjustable couplings coupled to the pedals and            causing the electric motor to drive in a rotational fashion            the one or more radially-adjustable couplings coupled to the            pedals when the measured revolutions per minute satisfy a            threshold condition.    -   Clause 31: The method of any preceding Clause, further        comprising:        -   receiving, from a goniometer worn by the user, a plurality            of angles of extension between an upper leg and a lower leg            at a knee of the user, wherein the plurality of angles is            measured as the user extends the lower leg away from the            upper leg via the knee;        -   receiving, from the goniometer worn by the user, a plurality            of angles of bend between the upper leg and the lower leg at            the knee of the user, wherein the plurality of angles is            measured as the user retracts the lower leg closer to the            upper leg via the knee; and        -   determining whether a range of motion threshold condition is            satisfied based on the plurality of angles of extension and            the plurality of angles of bend.    -   Clause 32: The method of any preceding Clause, wherein the        pedals are coupled to radially-adjustable couplings, and the        method further comprising:        -   responsive to determining that the range of motion threshold            condition is satisfied, modifying a position of one of the            pedals on one of the radially-adjustable couplings to change            a diameter of a range of motion of the one of the pedals.    -   Clause 33: An electronic device, comprising:        -   one or more memory devices storing instructions;        -   one or more network interface cards;        -   one or more goniometers; and        -   one or more processing devices operatively coupled to the            one or more memory devices, the one or more network            interface cards, and the one or more goniometers, wherein            the one or more processing devices execute the instructions            to:            -   receive a plurality of angles from the one or more                goniometers, wherein the plurality of angles comprises                at least one of angles of extension of a lower leg of a                user extended away from an upper leg at a knee or angles                of bend of the lower leg retracting closer toward the                upper leg; and            -   transmit, via the one or more network interface cards,                the plurality of angles to a computing device                controlling an electromechanical device.    -   Clause 34: The electronic device of any preceding Clause,        wherein the plurality of angles is received while the user is        pedaling one or more pedals of the electromechanical device.    -   Clause 35: The electronic device of any preceding Clause,        wherein the transmitting the plurality of angles to the        computing device causes the computing device to adjust a        position of one of one or more pedals on a radially-adjustable        coupling based on the plurality of angles satisfying a range of        motion threshold condition.    -   Clause 36: The electronic device of any preceding Clause,        wherein the position of the pedal is adjusted to increase a        diameter of a range of motion transited by the upper leg, the        lower leg, and the knee of the user as the user operates the one        of the pedals.    -   Clause 37: The electronic device of any preceding Clause,        wherein the transmitting the plurality of angles to the        computing device causes the computing device to present the        plurality of angles in a graphical animation of the lower leg        and the upper leg moving in real-time during the extension or        the bend.    -   Clause 38: The electronic device of any preceding Clause,        wherein the one or more processing devices are further to        transmit, via the one or more network interface cards, the        plurality of angles to another computing device to cause the        another computing device to present the plurality of angles on a        user interface of a clinical portal.

What is claimed is:
 1. An electromechanical device for rehabilitation,comprising: one or more pedals coupled to one or moreradially-adjustable couplings; an electric motor coupled to the one ormore pedals via the one or more radially-adjustable couplings; a controlsystem comprising one or more processing devices operatively coupled tothe electric motor, wherein the one or more processing devices areconfigured to: responsive to a first trigger condition occurring,control the electric motor to operate in a passive mode by independentlydriving the one or more radially-adjustable couplings rotationallycoupled to the one or more pedals, wherein the first trigger conditionis set based on a treatment plan, wherein the treatment plan wasgenerated by one or more machine learning models trained to output thetreatment plan based on input related to at least one of a procedure theuser underwent or a characteristic of the user.
 2. The electromechanicaldevice of claim 1, where the one or more processing devices are furtherconfigured to: responsive to a second trigger condition occurring,control the electric motor to operate in an active-assisted mode by:measuring revolutions per minute of the one or more radially-adjustablecouplings, and causing the electric motor to drive the one or moreradially-adjustable couplings rotationally coupled to the one or morepedals when the measured revolutions per minute satisfy a thresholdcondition, and responsive to a third trigger condition occurring,control the electric motor to operate in a resistive mode by providingresistance to rotation of the one or more radially-adjustable couplingscoupled to the one or more pedals.
 3. The electromechanical device ofclaim 2, wherein the one or more processing devices are furtherconfigured to, responsive to a fourth trigger condition occurring,control the electric motor to operate in an active mode by powering offto enable another source to drive the one or more radially-adjustablecouplings via the one or more pedals, wherein each of the first triggercondition, the second trigger condition, the third trigger condition,and the fourth trigger condition comprise at least one of an initiationof a pedaling session via a user interface of the control system, aperiod of time elapsing, a detected physical condition of a useroperating the electromechanical device, a request received from the uservia the user interface, or a request received via a computing devicecommunicatively coupled to the control system.
 4. The electromechanicaldevice of claim 1, wherein the radially-adjustable couplings areconfigured for translating rotational motion of the electric motor toradial motion of the pedals.
 5. The electromechanical device of claim 2,wherein the electric motor operates in each of the passive mode, theactive-assisted mode, and the resistive mode for a respective period oftime during a pedaling session based on a treatment plan for a useroperating the electromechanical device.
 6. The electromechanical deviceof claim 1, wherein the one or more processing devices controls theelectric motor to independently drive the one or moreradially-adjustable couplings rotationally coupled to the one or morepedals at a controlled speed specified in a treatment plan for a useroperating the electromechanical device while operating in the passivemode.
 7. The electromechanical device of claim 1, wherein the one ormore processing devices are further configured to modify one or morepositions of the one or more pedals on the one or moreradially-adjustable couplings to change one or more diameters of rangesof motion of the one or more pedals during any of the plurality of modesthroughout a pedaling session for a user operating the electromechanicaldevice, wherein the one or more processing devices are furtherconfigured to modify the position of one of the one or more pedals onone of the one or more radially-adjustable couplings to change thediameter of the range of motion of the one of the one or more pedalswhile maintaining another position of another of the one or more pedalson another of the one or more radially-adjustable couplings to maintainanother diameter of another range of motion of the another pedal.
 8. Theelectromechanical device of claim 6, wherein the one or more processingdevices are further configured to: receive, from a goniometer worn bythe user, at least one of an angle of extension of a joint of the userduring a pedaling session or an angle of bend of the joint of the userduring the pedaling session; and modifying the one or more positions ofthe one or more pedals on the one or more radially-adjustable couplingsto change the one or more diameters of the ranges of motion of the oneor more pedals based on the at least one of the angle of extension ofthe joint of the user or the angle of bend of the joint of the user. 9.The electromechanical device of claim 1, wherein the one or moreprocessing devices are further configured to: receive, from a goniometerworn by the user, a plurality of angles of extension between an upperleg and a lower leg at a knee of the user as the user extends the lowerleg away from the upper leg via the knee; and present, on a userinterface of the control system, a graphical animation of the upper leg,the lower leg, and the knee of the user as the lower leg is extendedaway from the upper leg via the knee, wherein the graphical animationincludes the plurality of angles of extension as the plurality of anglesof extension change during the extension; store a lowest value of theplurality of angles of extension as an extension statistic for anextension session, wherein a plurality of extension statistics is storedfor a plurality of extension sessions specified by the treatment plan;and present progress of the plurality of extension sessions throughoutthe treatment plan via a graphical element on the user interfacepresenting the plurality of extension statistics.
 10. Theelectromechanical device of claim 1, wherein the one or more processingdevices are further configured to: receive, from a goniometer worn bythe user, a plurality of angles of bend between an upper leg and a lowerleg at a knee of the user as the user retracts the lower leg closer tothe upper leg via the knee; and present, on a user interface of thecontrol system, a graphical animation of the upper leg, the lower leg,and the knee of the user as the lower leg is retracted closer to theupper leg via the knee, wherein the graphical animation includes theplurality of angles of bend as the plurality of angles of bend changesduring the bend; store a highest value of the plurality of angles ofbend as a bend statistic for a bend session, wherein a plurality of bendstatistics is stored for a plurality of bend sessions specified by thetreatment plan; and present progress of the plurality of bend sessionsthroughout the treatment plan via a graphical element on the userinterface presenting the plurality of bend statistics.
 11. Theelectromechanical device of claim 1, wherein the one or more processingdevices are further configured to: receive, from a wearable device, anamount of steps taken by a user over a certain time period; calculatewhether the amount of steps satisfies a step threshold of a treatmentplan for the user; and present the amount of steps taken by the user ona user interface and an indication of whether the amount of stepssatisfies the step threshold.
 12. The electromechanical device of claim1, wherein the one or more processing devices are further configured to:receive a request to stop the one or more pedals from moving; and lockthe electric motor to stop the one or more pedals from moving over aconfigured period of time.
 13. The electromechanical device of claim 1,wherein the one or more processing devices are further configured to:receive, from one or more force sensors operatively coupled to the oneor more pedals and the one or more processing devices, one or moremeasurements of force on the one or more pedals; determine whether auser has fallen from the electromechanical device based on the one ormore measurements of force; and responsive to determining that the userhas fallen from the electromechanical device, lock the electric motor tostop the one or more pedals from moving.
 14. The electromechanicaldevice of claim 1, wherein the one or more processing devices arefurther configured to: receive, from an accelerometer of the controlsystem, a measurement of acceleration of movement of theelectromechanical device; determine whether the electromechanical devicehas moved excessively relative to a vertical axis based on themeasurement of acceleration; and responsive to determining that theelectromechanical device has moved excessively relative to the verticalaxis based on the measurement of acceleration, lock the electric motorto stop the one or more pedals from moving.
 15. The electromechanicaldevice of claim 1, wherein the one or more processing devices arefurther to: receive, from one or more force sensors operatively coupledto the one or more pedals, one or more measurements of force exerted bya user on the one or more pedals during a pedaling session; present therespective one or more measurements of force on each of the one or morepedals on a separate respective graphical scale on a user interfacewhile the user pedals during the pedaling session, wherein the one ormore processing devices are further to present a first notification onthe user interface when the one or more measurements of force satisfy apressure threshold and present a second notification on the userinterface when the one or more measurements do not satisfy the pressurethreshold, and wherein the one or more processing devices are further toprovide an indicator to the patient based on the one or moremeasurements of force, wherein the indicator comprises at least one of(1) providing haptic feedback in the pedals, handles, or seat, (2)providing visual feedback on the user interface, (3) providing audiofeedback via an audio subsystem of the electromechanical device, or (4)illuminating a warning light of the electromechanical device.
 16. Theelectromechanical device of claim 1, wherein the one or more processingdevices are further to lock the electric motor to prevent the one ormore pedals from moving for a certain amount of time after a pedalingsession is complete, wherein the pedaling session comprises operating inthe passive mode, the active-passive mode, and the resistive mode forrespective periods of time.
 17. The electromechanical device of claim 1,wherein the one or more processing devices are further configured to:control an imaging system to capture an image of a body part of thepatient being rehabilitated; and transmit the image of the body part toa computing device operated by a clinician, wherein the computing deviceis communicatively coupled to the control system.
 18. Theelectromechanical device of claim 1, wherein the one or more processingdevices are further configured to: receive, from a wristband worn by theuser, a heartbeat of the user as the user operates the electromechanicaldevice; and responsive to determining that the heartbeat exceeds atarget heartbeat condition, control the electric motor to reduce theresistance provided to the rotation of the one or moreradially-adjustable couplings coupled to the one or more pedals.
 19. Asystem comprising: one or more pedals coupled to one or moreradially-adjustable couplings; an electric motor coupled to the one ormore pedals via the one or more radially-adjustable couplings; a controlsystem comprising one or more processing devices operatively coupled tothe electric motor, wherein the one or more processing devices areconfigured to: responsive to a first trigger condition occurring,control the electric motor to operate in a passive mode by independentlydriving the one or more radially-adjustable couplings rotationallycoupled to the one or more pedals, wherein the first trigger conditionis set based on a treatment plan, wherein the treatment plan wasgenerated by one or more machine learning models trained to output thetreatment plan based on input related to at least one of a procedure theuser underwent or a characteristic of the user.
 20. A method forcontrolling, via a processing device, an electromechanical device,comprising: responsive to a first trigger condition occurring,controlling an electric motor of the electromechanical device to operatein a passive mode by independently driving one or moreradially-adjustable couplings rotationally coupled to one or morepedals, wherein the first trigger condition is set based on a treatmentplan, wherein the treatment plan was generated by one or more machinelearning models trained to output the treatment plan based on inputrelated to at least one of a procedure the user underwent or acharacteristic of the user.